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