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