我有一个makefile,每次编译时都会继续重建c ++源代码。我想出原因是我将目标文件转储到一个单独的目录中 make文件中的一行是:
$(CPP_COMPILER) $(COMPILE_FLAGS) $(RELEASE_OPT_FLAGS) -c Test.cpp $(INCLUDE_PATH) -o objfiles/$(OUTDIR)/Test.o
我可以提出一些规则,首先检查这个目录(objfiles),如果不需要,不要每次都重建源代码?
感谢您的帮助。
答案 0 :(得分:1)
您应该让规则本身引用正确的路径:
objfiles/$(OUTDIR)/Test.o: Test.cpp
$(CPP_COMPILER) $(COMPILE_FLAGS) $(RELEASE_OPT_FLAGS) -c Test.cpp $(INCLUDE_PATH) -o objfiles/$(OUTDIR)/Test.o
如果您仍然希望Test.o
作为makefile目标,则可以轻松添加一个:
Test.o: objfiles/$(OUTDIR)/Test.o