Perl脚本在makefile中返回值

时间:2013-06-16 11:13:47

标签: perl makefile

我有一个perl脚本,它返回值“return 1;”或者“返回0;”。我也试过“退出1;”和“退出0;”

在我的makefile中,我有以下代码:

ifneq ($(TRG_TYPE),node)
    VAR := $(shell perl $(ROOT)/Make/chipdep.pl $(ROOT) $(CHIP) $(NAME) ) 
ifeq ($(VAR),1)
    $(error just a test error. Aborting)
endif
endif

我知道perl脚本有效 - 我单独测试了它,但是我从来没有看到这个错误并且中止,即使应该看到它!

1 个答案:

答案 0 :(得分:0)

shell调用的值是shell命令的输出,而不是其退出代码。制作脚本print 0print 1,或者在一般情况下,执行$(shell yourcmd >/dev/null 2>&1; echo $$?)以获取shell命令中的退出代码。

但是,这似乎有些倒退。如果您的脚本返回0表示成功,1表示失败,那么您可以将其作为目标的第一个命令运行;如果任何命令失败,目标将中止。