当我使用未设置的变量时,可以警告我吗?

Ant*_*yko 12 makefile

当我使用未设置的变量时,有没有办法告诉make抱怨?类似于set -ubash的东西?

我花了二十分钟调试我的Makefile,因为变量名称中有一个符号拼写错误.

sir*_*rge 18

是的,有一种方法:

make --warn-undefined-variables
Run Code Online (Sandbox Code Playgroud)

我刚用make版本3.81测试了它

编辑:

您也可以在makefile中设置它,以保护自己将来免于愚蠢的错误.要做到这一点,只需将它放在makefile顶部附近(这也将传递给递归make进程):

MAKEFLAGS=--warn-undefined-variables
Run Code Online (Sandbox Code Playgroud)

  • 天哪,我多么希望 `--error-undefined-variables` 存在 (4认同)
  • 在`Makefile`中设置它不会触发类似`$(info $(UNUSED))`的警告..(GNU Make 4.2.1) (3认同)
  • 顺便说一下,你不应该做+ =而不是=?我仍然对make的赋值运算符感到困惑. (2认同)