你好我想知道linux GNU Make中是否有一个功能允许我打印需要运行的目标和先决条件而不实际运行它们!我正在寻找一个庞大的制造环境,希望能够了解流程!任何其他提示将不胜感激!
离
$ make -option mytarget
making prereq to mytarget
making prereq to prereq
making prereq to prereq to prereq
making mytarget
done..... etc.
答案 0 :(得分:4)
make -n
执行“干运行”,打印命令make 将运行而不实际运行它们。
make -d
打印出大量关于make
如何处理其业务的调试信息,并确定要构建的目标和顺序。
你也可以将两者结合起来。您可能还想了解make -r
,它会通过不检查任何隐式规则来平静make -d
输出,而make -k
会在出现错误的情况下继续运行(在执行make -n
时有时会发生这种情况,具体取决于makefile的设置方式):
make(1)
man page的相关部分:
<强>
-d
强>
除正常处理外,还打印调试信息。该 调试信息说明正在考虑哪些文件 重制,正在比较哪些文件时间和什么 结果,哪些文件实际上需要重新制作,哪些隐含 我们会考虑规则并应用这些规则 - 关于make如何决定做什么的一切都很有趣。<强>
-k, --keep-going
强> 发生错误后尽可能继续。虽然失败的目标和依赖它的目标无法重新制作,但这些目标的其他依赖关系可以完全相同。<强>
-n, --just-print, --dry-run, --recon
强>
打印将要执行但不执行的命令 它们。<强>
-r, --no-builtin-rules
强> 消除使用内置隐式规则。也清楚了 默认的后缀规则后缀列表。