Makefile 当我使用未设置的变量时,可以发出警告吗?
当我使用未设置的变量时,有没有办法让make抱怨?类似于bash中的Makefile 当我使用未设置的变量时,可以发出警告吗?,makefile,Makefile,当我使用未设置的变量时,有没有办法让make抱怨?类似于bash中的set-u 我刚刚花了二十分钟调试Makefile,因为变量名称中有一个符号输入错误。是的,有一种方法: make --warn-undefined-variables 我刚刚用make version3.81对它进行了测试 编辑: 您还可以在makefile中设置它,以保护自己在将来不会犯愚蠢的错误。 要做到这一点,只需将其放在makefile顶部附近的某个位置(这也将传递给递归make进程): 下面是一个如何做到让它立即失
set-u
我刚刚花了二十分钟调试Makefile,因为变量名称中有一个符号输入错误。是的,有一种方法:
make --warn-undefined-variables
我刚刚用make version3.81对它进行了测试
编辑:
您还可以在makefile中设置它,以保护自己在将来不会犯愚蠢的错误。
要做到这一点,只需将其放在makefile顶部附近的某个位置(这也将传递给递归make进程):
下面是一个如何做到让它立即失败的方法:
ifndef PSWD
$(error PSWD is undefined)
endif
如果
if
和$(error…
的一些组合应该可以为您完成。您知道是否有一种方法可以在Makefile本身中触发它,而不是使用命令行选项吗?是的,您也可以将其放入Makefile中,请查看我的答案的编辑。顺便说一句,您不应该使用+=而不是=?我仍然对make的赋值运算符感到困惑。但是,在Makefile
中设置它不会触发类似$(info$(UNUSED))
之类的警告。。(GNU Make 4.2.1)
ifndef PSWD
$(error PSWD is undefined)
endif