一个大的项目通常有一个复杂的Makefile系统。有许多变量定义和目标先决条件依赖项分散在不同的 Makefile 中。有什么方便的方法来打印目标的所有先决条件和构建规则吗?
具体来说,有两个问题:
问题1
假设我有四个 Makefile:
生成文件1:
p: a b
[some rule]
生成文件2:
q: c d
[some rule]
生成文件3:
r: e f
[some rule]
生成文件:
all: p q r
[some rule]
我可以调用某些命令来获取类似于以下内容的输出吗?
all: a b c d e f
[rule 1]
[rule 2]
[rule 3]
......
问题2
而且,如果我想要检查的实体只是一个普通的二进制文件而不是 Makefile 中指定的目标怎么办?例如,我如何获得先决条件并构建规则sha1sum
在 coreutils 中? (很明显没有名为sha1sum
在 coreutils 的 Makefile 中。)
我查看了帮助和手册make
,但徒劳无功。也许我没有找到谷歌搜索的正确关键字。谁能帮我?谢谢!
我对这个问题有点不清楚,但是你尝试过 -p 选项吗?它打印解析 makefile 生成的 DAG,并打印规则、依赖项和变量值
任何构建(即使是复杂的构建)都遵循构建目标的相同原则。从您的示例中不清楚的是依赖项 a 和 b 是如何构建的。最终目标是什么。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)