当我使用未设置的变量时,有没有办法告诉 make 抱怨?类似于set -u
bash 的东西?
我刚刚花了 20 分钟调试我的 Makefile,因为变量名称中有一个符号拼写错误。
当我使用未设置的变量时,有没有办法告诉 make 抱怨?类似于set -u
bash 的东西?
我刚刚花了 20 分钟调试我的 Makefile,因为变量名称中有一个符号拼写错误。
是的,有一种方法:
make --warn-undefined-variables
我刚刚使用 make 3.81版本对其进行了测试
编辑:
你也可以在你的 makefile 中设置它,以保护你自己在未来免受愚蠢的错误。为此,只需将其放在 makefile 顶部附近的某个位置(这也将传递给递归 make 进程):
MAKEFLAGS=--warn-undefined-variables
以下是如何使 make 立即失败:
ifndef PSWD
$(error PSWD is undefined)
endif