读书人

Makefile自动依赖有关问题

发布时间: 2013-07-04 11:45:44 作者: rapoo

Makefile自动依赖问题

[解决办法]
加一个依赖%.o: %.c:

OBJECTS = Main.o global.o
#CC = gcc
CC = arm-hismall-linux-gcc
INCLUDE=-I../inc
#(上面的'I'是大写的'i')

dvr.exe : $(OBJECTS)
$(CC) $(INCLUDE) -o $@ $^ -lpthread

vpath %.h ../inc

include $(OBJECTS:.o=.d)

%.o: %.c
$(CC) $(INCLUDE) -c -o $@ $<

%.d: %.c
set -e; rm -f $@; \
$(CC) $(INCLUDE) -MM $(CPPFLAGS) $< > $@.$$$$; \
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
rm -f $@.$$$$

.PHONY : clean cleanall
clean :
-rm -f ../Debug/Debug_*.log Main.o global.o
-rm -f ../Debug/*.bak ../inc/*.bak ./*.bak
-rm -f ./*.d.* *.d

[解决办法]
你不是在Makefile在的目录运行的 make 吧, 是 make -f $PATH_TO_MAKEFILE 运行的吧..



LOCAL_MAKE_PATH := $(strip $(dir $(lastword $(MAKEFILE_LIST))))
LOCAL_MAKE_PATH := $(LOCAL_MAKE_PATH:%/=%)


INCLUDE=-I$(LOCAL_MAKE_PATH)/../inc

读书人网 >C语言

热点推荐