从Makefile中删除依赖项

时间:2015-02-23 10:44:27

标签: makefile

我们有使用gccmakedep的脚本,它根据上次运行的系统在Makefile中填充依赖项。

我们如何让Makefile中的clean目标自动删除gccmakedep添加到Makefile的依赖项?

(我无法在clean目标中搜索自己搜索"# DO NOT DELETE"分隔符的命令,因为gccmakedep本身会找到该参数并认为它应该在哪里切割......?)

2 个答案:

答案 0 :(得分:3)

我认为你可以让gccmakedep -fdepends.mk将输出产生到不同的makefile中。然后你可以包含它,并删除干净的规则。

-include depends.mk
clean:
    @rm -f depends.mk

就个人而言,我使用cc -MMD -MP生成.d取决于并将它们包含在Makefile中。它不需要任何额外的工具,您可以清除.d文件和目标文件。这是an example

这也是Scott McPeak的good writeup,提供更便携的解决方案和解释。

答案 1 :(得分:1)

如果可能,请避免修改Makefile(从而转储gccmakedep)。而是使用dependency tracking的外部文件。

或者在干净规则中使用一个执行清理的脚本(因此gccmakedep不会直接触发)