从 shell 代码行中退出 makefile

Quit makefile from inside a shell code line

如何从其 运行 shell 代码中退出 makefile,如

@if [ $$m = 'y' ] ;then exit ;fi

正在退出 shell 而不是

而不是 exit,试试 exit 1

任何 return 非零状态的命令都会停止 Makefile(或 运行 '-k' 时的当前目标)。如果(除非这是包含多个命令的 scriptlet 的一部分。

则无需在内部包装
target:
    ...
    [ "$$m" = 'y' ]
    ...

请注意,变量 'm' 必须是环境变量或由属于同一命令序列的前一个命令设置。它不能在单独的命令行中设置:

correct:
    m=... ; [ "$$m" = 'y' ]

wrong:
    m=...
    [ "$$m" = 'y' ]