【发布时间】:2014-02-06 04:48:30
【问题描述】:
我有一个非常复杂的 makefile,出于显而易见的原因,我不会在此处包含它。我有规则来构建依赖文件,然后将它们包含在“-include myobj.d”行中。
我也(显然)有一个构建 *.d 文件的规则。
然后我有类似的规则
.PHONY: clean
clean:
rm myobj.d myobj.o ...
当我 make clean 时,首先它会重建所有 .d 文件,然后再删除它们。我用 -d 运行 make 并检查了调试信息,它正在尝试重建我用“-include”包含的所有文件,然后再检查它被告知要构建的目标。我有一大堆“rules.mk”用于构建不同的代码单元,它也试图重建所有这些。
这不是问题,只是包含的 .d 文件实际上确实有构建它们的规则。当我说“make clean”时,我只想执行 clean 规则,而不是重建所有愚蠢的依赖文件,这样我就可以删除它们......
如果构建处于奇怪的状态,其中一半代码已构建而其余代码未构建,并且我正在尝试执行 make clean 以恢复到良好状态,这尤其成问题。
我如何告诉 make 不要尝试自动重建包含的文件?
【问题讨论】:
标签: makefile