使用-include包含重建文件

时间:2014-02-05 18:02:23

标签: makefile

我有一个非常复杂的makefile,由于显而易见的原因我不会在这里包含。我有规则来构建依赖文件,然后用'-include myobj.d'的行包含它们。

我(显然)也有规则来构建* .d文件。

然后我按照

的规则行事
.PHONY: clean
clean:
      rm myobj.d myobj.o ...

当我做干净时,首先它会在删除之前重建所有.d文件。我用-d运行make并检查了调试信息,它正在尝试使用“-include”重建我包含的所有文件,然后再检查它被告知要构建的目标。我有一堆“rules.mk”用于构建不同的代码单元,它也试图重建所有这些代码单元。

这不会有问题,除了实际包含的.d文件确实有构建它们的规则。当我说“make clean”时,我希望make只执行干净规则,而不是重建所有愚蠢的依赖文件,这样我就可以删除它们了......

如果构建处于一种奇怪的状态,其中一半代码是构建的而其余代码没有构建,那么这是特别有问题的。我正在尝试做一个make clean来恢复到良好的状态。

如何告诉make不要尝试自动重建包含的文件?

2 个答案:

答案 0 :(得分:1)

你可以在几天前看到我对这个非常相似的问题的答案:

how to make clean without any modification?

答案 1 :(得分:0)

这些天你不需要.d文件的规则,这是一种常见的误解。有关详细信息,请参阅Automatic header dependencies with gmake