我有一个makefile,每次编译时都会继续重buildc ++源代码。 我找出原因是我在一个单独的目录中转储对象文件。
make文件的一行是:
$(CPP_COMPILER) $(COMPILE_FLAGS) $(RELEASE_OPT_FLAGS) -c Test.cpp $(INCLUDE_PATH) -o objfiles/$(OUTDIR)/Test.o
我可以把一些规则,首先检查这个目录(OBJFILES),如果不需要不重新build立源每次?
谢谢你的帮助。
你应该使规则本身指向正确的路径:
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