Compilation 检查生成文件中$(MAKE)的结果

Compilation 检查生成文件中$(MAKE)的结果,compilation,makefile,exit-code,Compilation,Makefile,Exit Code,我正在使用一个Makefile来编译我的项目。我要说的是: $(MAKE) <some flags>; \ $(UPLOAD_SCRIPT) $(MAKE)\ $(上传脚本) $(MAKE)行实际上编译代码,但我只希望在MAKE成功(即没有错误)时运行上载脚本。有办法做到这一点吗?我正在想象一些带有退出代码的东西,将结果存储在一个变量中,以及一个if语句,但我对makefile不是非常熟悉。使用&&将这两个命令链接起来,就像这样: mytarget: $(MAKE) &l

我正在使用一个Makefile来编译我的项目。我要说的是:

$(MAKE) <some flags>; \
$(UPLOAD_SCRIPT)
$(MAKE)\
$(上传脚本)

$(MAKE)行实际上编译代码,但我只希望在MAKE成功(即没有错误)时运行上载脚本。有办法做到这一点吗?我正在想象一些带有退出代码的东西,将结果存储在一个变量中,以及一个
if
语句,但我对makefile不是非常熟悉。

使用
&&
将这两个命令链接起来,就像这样:

mytarget:
    $(MAKE) <some flags> && $(UPLOAD_SCRIPT)

如果您使用的是GNU make,请从这里开始:我推荐
&&
解决方案。使用
set-e
是一件棘手的事情,而且它的行为往往不像您预期的那样,特别是在
cmd1
cmd2
更复杂的情况下。不过,对于简单的命令来说,它可以很好地工作。
mytarget:
    set -e; \
    cmd1; \
    cmd2