每当对象文件转储到其他目录时,makefile就会重建

时间:2016-06-06 11:05:26

标签: c++ linux makefile

我有一个makefile,每次编译时都会继续重建c ++源代码。我想出原因是我将目标文件转储到一个单独的目录中 make文件中的一行是:

$(CPP_COMPILER) $(COMPILE_FLAGS) $(RELEASE_OPT_FLAGS) -c Test.cpp $(INCLUDE_PATH) -o objfiles/$(OUTDIR)/Test.o

我可以提出一些规则,首先检查这个目录(objfiles),如果不需要,不要每次都重建源代码?

感谢您的帮助。

1 个答案:

答案 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