很长一段时间以来我没有做过Makefiles。我的实际Makefile工作,除非$(LIB)中的lib更改,我收到一条消息,make无关。不考虑$(LIB)中对lib的依赖性。请注意,在$(LIB)中,我有完整路径的库。
all: $(OBJ_LIST) $(TEST_LOAD) $(TEST_CPP_UNIT) $(LIB)
%.o: %.cpp
g++ -c $(CPPFLAGS) -o $@ $<
答案 0 :(得分:2)
您还没有真正表达任何有用的依赖项。如果您希望在$(LIB)
中的某些内容发生更改时重建某些特定内容,则需要明确指定。例如:
all: my_app
# my_app will be rebuilt if something in $(LIB) changes
my_app: $(OBJ_LIST) $(LIB)
g++ -o $@ $<
%.o: %.cpp
g++ -c $(CPPFLAGS) -o $@ $<