在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
是正确的写作方式,因为我收到了错误。
答案 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”或其他任何内容)。结果是什么? (不要只说“它不起作用”,向我们展示输出。)