如何在Makefile中定义错误状态检查功能

时间:2013-10-05 08:24:14

标签: makefile

makefile我有

run_sh:

echo"run script";\
toolk -run -tcl sequence.tcl | tee ./log/catch.log;\
$(call chck "./log/catch.log")

我想从上面的日志文件中捕获error status=0消息并检查,如果不是“0”退出表单make文件。所以我已经编写了这个函数并在我的目标run_sh中调用它。

define chck
log=$(1)
STAT=`cat $(1) | grep "exit status=0"`
ifneq ($(STAT),"exit status=0")
$(error error in script)
endif
endef

是正确的写作方式,因为我收到了错误。

1 个答案:

答案 0 :(得分:1)

这个怎么样:

run_sh:
    echo"run script"; toolk -run -tcl sequence.tcl | tee ./log/catch.log;
    grep "error status=0" ./log/catch.log || exit

修改

我无法访问GNUMake 3.79.1,所以我们必须进行一些实验。设置此规则:

run_sh:
    exit

并尝试“make run_sh”(“make”或“make all”或其他任何内容)。结果是什么? (不要只说“它不起作用”,向我们展示输出。)