3

您好,我想知道 linux GNU Make 中是否有一个功能允许我打印需要运行的目标和先决条件,而无需实际运行它们!我正在追踪一个庞大的制作环境,并希望了解流程!任何其他提示将不胜感激!

前任

$ make -option mytarget
making prereq to mytarget
making prereq to prereq
making prereq to prereq to prereq
making mytarget
done..... etc.
4

1 回答 1

4

make -n进行“空运行”,打印命令 make在没有实际运行的情况下运行。

make -d打印出大量的调试信息,这些信息make是关于它的业务是如何进行的,以及决定构建什么目标以及以什么顺序。

你也可以将两者结合起来。您可能还想知道关于,它会通过不检查任何隐式规则make -r来使输出安静下来,并且会在发生错误的情况下继续进行(有时会在执行时发生,具体取决于您的 makefile 的设置方式) :make -dmake -kmake -n

make(1)手册页中的相关部分:

-d
打印除正常处理外的调试信息。调试信息说明正在考虑重新制作哪些文件,正在比较哪些文件时间以及结果如何,哪些文件实际上需要重新制作,考虑了哪些隐式规则以及应用了哪些 - 关于 make 如何决定什么的所有有趣的事情去做。

-k, --keep-going 出错后尽可能继续。虽然失败的目标和依赖它的目标无法重新制作,但这些目标的其他依赖关系可以完全一样地处理。

-n, --just-print, --dry-run, --recon
打印将要执行的命令,但不要执行它们。

-r, --no-builtin-rules 消除对内置隐式规则的使用。还要清除后缀规则的默认后缀列表。

于 2013-06-28T17:13:20.470 回答