【问题标题】:Howto verify if macro is defined and stop make otherwise? [duplicate]如何验证是否定义了宏并停止制作? [复制]
【发布时间】:2013-03-05 19:11:55
【问题描述】:

由于未定义的变量如果简单地替换为空文本(考虑目标目录)可能会导致意外行为,有没有办法让 make 检查变量是否未定义并在这种情况下因错误而停止?

条件可以用条件来检测,但是如何停止执行?

ifeq ($(strip $(notdefinedforsure_man)),)
out = Undefined variable detected
endif

我正在寻找类似的东西 requiredef var1, var2

或者在上面的条件中使用带有错误语句的简单返回

【问题讨论】:

    标签: gnu-make


    【解决方案1】:

    使用origin 内置函数:

    ifeq (undefined,$(origin VARIABLE))
      $(error VARIABLE is not defined)
    endif
    

    详情请见the documentation

    【讨论】:

    • $(if $(filter undefined,$(origin VARIABLE)),$(error blurk!)),如果您需要在宏中使用它。
    猜你喜欢
    • 2018-05-11
    • 1970-01-01
    • 2016-07-15
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多