【问题标题】:Can make warn me, when I use unset variables?当我使用未设置的变量时,可以警告我吗?
【发布时间】:2013-01-01 17:37:03
【问题描述】:

当我使用未设置的变量时,有没有办法让 make 抱怨?类似于 bash 中的 set -u 的东西?

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

【问题讨论】:

  • if$(error ...) 的某种组合应该可以帮到你。

标签: makefile


【解决方案1】:

是的,有办法:

make --warn-undefined-variables

我刚刚使用 make 版本 3.81

对其进行了测试

编辑:

你也可以在你的 makefile 中设置它,以保护你自己在未来免受愚蠢的错误。 为此,只需将其放在 makefile 顶部附近的某个位置(这也将传递给递归 make 进程):

MAKEFLAGS=--warn-undefined-variables

【讨论】:

  • 你知道是否有办法在 Makefile 本身中触发它,而不是使用命令行选项?
  • 是的,您也可以将其放入您的 makefile 中,请参阅我的答案的编辑。
  • 顺便说一句,你不应该用 += 而不是 = 吗?我仍然对 make 的赋值运算符感到困惑。
  • Makefile 中设置它不会触发$(info $(UNUSED)) 之类的警告.. (GNU Make 4.2.1)
  • 天哪,我多么希望--error-undefined-variables存在
【解决方案2】:

以下是如何使 make 立即失败:

ifndef PSWD
$(error PSWD is undefined)
endif

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    • 1970-01-01
    • 2014-01-02
    • 2015-06-20
    相关资源
    最近更新 更多