【问题标题】:GNU Make options. Printing targets and prerequisitesGNU Make 选项。打印目标和先决条件
【发布时间】:2013-06-28 17:08:51
【问题描述】:

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

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

【问题讨论】:

    标签: linux makefile gnu-make


    【解决方案1】:

    make -n 进行“试运行”,打印命令会使 运行而不实际运行它们。

    make -d 打印出大量调试信息,说明make 如何开展业务并决定构建哪些目标以及按什么顺序构建。

    您也可以将两者结合起来。您可能还想了解make -r,它会通过不检查任何隐式规则来使make -d 输出安静下来,而make -k 将使事情在出现错误的情况下继续进行(有时会在执行@ 987654328@,取决于您的 makefile 的设置方式):

    相关部分来自make(1) man page:

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

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

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

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

    【讨论】:

    • 太棒了,谢谢!!!!我需要获得更多的声望点才能选择这个有用的答案,但是当我有机会时我会这样做!
    • 您可以随时将自己的问题的答案标记为“已接受”,这会给您带来小幅提升。
    猜你喜欢
    • 2016-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多