我正在使用Makefile构建我的C++项目。有点烦人,有时很难找出构建是成功还是失败。我希望在构建末尾看到清晰的声明,就像在gradle中一样。

如果构建通过:

BUILD SUCCESSFUL

如果构建失败:
BUILD FAILED

对于肯定的情况,我找到了以下解决方案:
all: dependencies #every job is done in dependencies
    echo "BUILD SUCCESSFUL"

做这个的最好方式是什么?

最佳答案

  • Unix(或任何命令行,实际上)软件的一个普遍原则是“如果一切顺利,请保持安静”。当然,使自身(以及以通常方式编写的makefile)已经左右违反该规则,但这仍然是一个很好的指导原则...
  • Unix命令行程序使用退出状态传达成功/失败,因此在终端中,您只需在调用Make之后就可以执行echo $?0是成功的,其他都没有。
  • 不管上面有什么美学要点,要使Make在发生故障的情况下可靠地执行操作都是很困难的,因为它并非旨在做到这一点。使用shell脚本将Make调用包装起来非常容易,如下所示:

  • #!/ bin / sh

    如果设为“$ @”;然后
    回声建立成功
    其他
    回声建立失败
    科幻

    关于makefile - Makefile:打印BUILD SUCCESSFUL或BUILD FAILED,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42059634/

    10-12 00:34
    查看更多