" $$是什么?"在Makefile片段下面是什么意思?
$(PROGS): FORCE
@cd $(BUILD_DIRECTORY_PATH)/$@; \
mkdir -p obj; \
$(MAKE) || exit "$$?"; \ <====== HERE
我想这意味着bash中的exit "$?"
,因为makefile中的$$
会转义为$
。
但exit "$?"
是什么意思呢?
答案 0 :(得分:5)
$?是程序退出或完成时的返回码。因此,在你的行
$(MAKE) || exit "$$?"
它将执行$(MAKE)
。如果此程序未正确完成,则返回代码将不等于0,然后将执行exit "$$?"
。这将使当前进程退出到shell,其返回代码与$(MAKE)
程序相同,您可以在shell中显示执行echo $?
。