我正在使用Makefile来编译我的项目。我得到了一个点
$(MAKE) <some flags>;
$(UPLOAD_SCRIPT)
$(MAKE)行实际上编译代码,但我只希望上传脚本在MAKE成功时运行(即没有错误)。有办法做到这一点吗?我正在想象一些具有退出代码的东西,将结果存储在变量和if
语句中,但我对Makefiles不太熟悉。
使用&&
连接两个命令,像这样:
mytarget:
$(MAKE) <some flags> && $(UPLOAD_SCRIPT)
如果您有更多行,并且不想使用&&
使您的行看起来很长,您可以使用set -e
,以便shell在第一个错误时停止。
-e当这个选项开启时,如果一个简单的命令失败了Shell错误的后果中列出的原因或返回退出状态值>0,并且不属于a后面的复合列表while, until或if关键字,并且不是and或or列表的一部分,而不是管道前面的!保留字,再壳应立即退出
mytarget:
set -e;
cmd1;
cmd2