Makefile:打印生成成功或生成失败
我正在使用MaFaFe来构建我的C++项目。有时很难确定构建是成功的还是失败的,这有点烦人。我希望在构建结束时看到一个清晰的声明,就像在gradle一样 如果生成通过:Makefile:打印生成成功或生成失败,makefile,gnu-make,Makefile,Gnu Make,我正在使用MaFaFe来构建我的C++项目。有时很难确定构建是成功的还是失败的,这有点烦人。我希望在构建结束时看到一个清晰的声明,就像在gradle一样 如果生成通过: BUILD SUCCESSFUL 如果生成失败: BUILD FAILED 对于积极的情况,我找到了以下解决方案: all: dependencies #every job is done in dependencies echo "BUILD SUCCESSFUL" 最好的方法是什么? Unix(或者任何命令行)
BUILD SUCCESSFUL
如果生成失败:
BUILD FAILED
对于积极的情况,我找到了以下解决方案:
all: dependencies #every job is done in dependencies
echo "BUILD SUCCESSFUL"
最好的方法是什么?- Unix(或者任何命令行)软件的一个共同原则是“如果一切顺利,保持安静”。当然,Make本身(以及以通常方式编写的makefile)已经左右违反了该规则,但它仍然是一个很好的指导原则
- Unix命令行程序使用退出状态通信成功/失败,因此在终端中,您可以在调用Make之后立即执行
<代码>0成功,其他任何东西都不成功echo$?
- 不管上面的美学观点如何,在失败的情况下让Make做一些可靠的事情是很困难的,因为它不是设计来做这件事的。使用shell脚本包装Make调用要容易得多,大致如下:
我认为
c
和c++
标志与这个问题无关。@kaylum根据,如果做某事失败,make应该停止处理配方。如果我没弄错的话,实际上我在依赖项中做所有事情,而这个规则中唯一的目标就是echo。我相应地改变了问题。@GregKikola啊,你说得对。
#!/bin/sh
if make "$@"; then
echo BUILD SUCCESSFUL
else
echo BUILD FAILED
fi