【问题标题】:basic makefile ifeq how to基本的makefile ifeq 如何
【发布时间】:2015-06-10 00:59:21
【问题描述】:

我刚刚学习 Makefiles 并且遇到了 ifeq 问题。

版本 = GNU Make 3.82

这是我的简单 Makefile:

CHECK := 0
CHECK2 := 0                                                                                     

check :  
    @echo "Check=${CHECK}"
    @echo "Check2=${CHECK2}"    
ifeq (${CHECK2},${CHECK}) 
    @echo "EQUAL"
else
    @echo "NOT EQUAL"
endif

这是输出:

Check=0
Check2=0                                                                                     
NOT EQUAL

为什么我没有看到“EQUAL”?

谢谢!

【问题讨论】:

    标签: makefile gnu-make


    【解决方案1】:

    Makefile(和 make)对空格非常敏感。 CHECK2 的定义中似乎有很多空格(但CHECK 没有),所以它们不相等。

    【讨论】:

    • 就是这样!现在可以使用了,谢谢! (伙计,我花了很多时间)
    • 具体(来自手册)“尾随空格字符不会从变量值中剥离”。
    • 谢谢伊坦。我想我应该 RTFM。对于其他有同样问题的人,手册中的声明可以在 gnu.org make manual > 6.2 the Two Flavors of Variables 中找到。我只看了 > 6.5 设置变量
    猜你喜欢
    • 2011-12-01
    • 2011-09-21
    • 2012-08-13
    • 2023-03-07
    • 1970-01-01
    • 2012-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多