【问题标题】:Make percentage completion完成百分比
【发布时间】:2014-04-11 02:51:41
【问题描述】:

我想知道是否可以为给定的 Makefile 执行生成完成百分比?我有一个运行 sum 测试的 Makefile,出于 UI 目的,输出对用户隐藏,但是,我想知道是否可以给出该 Makefile 执行的百分比指示。

没有代码,我什至不知道如何追求这一点,只是在寻找指针。

另外,即使您确实从 make 获得了百分比数字,我们如何在 shell 中更新它?

谢谢

【问题讨论】:

    标签: c shell makefile


    【解决方案1】:

    make 自己无法提供这些信息,因为 make 不知道。 Make 不能通过首先计算所有需要重建的目标,然后再构建它们来工作。相反,通过一次遍历一个节点来完成依赖图,直到最后没有工作要做。由于 make 在完成之前不知道将构建多少个目标,因此它无法提供完成百分比值。

    您这样做的唯一方法是计算百分比值,因为您知道有多少目标以及当前正在运行的目标。您必须将此信息写入您的食谱中。

    【讨论】:

    • 我同意。这样做的方法是在每个目标的开头都有一个 shell 脚本,然后运行两次——第一次运行使用 shell 脚本来增加一些东西,或者即echo "+" >> count.txt。然后计算 + 并使用该数字创建第二个文件“total.txt”。在 shell 脚本的第二次和后续运行中,检测顶层是否存在 total.txt,并将到目前为止完成的数量与 total.txt 进行比较。然后您的脚本可以将其输出到 stderr,因此 make all >> /dev/null 仍会报告已完成的百分比。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多