基本的makefile ifeq 如何
Posted
技术标签:
【中文标题】基本的makefile ifeq 如何【英文标题】:basic makefile ifeq how to 【发布时间】: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”?
谢谢!
【问题讨论】:
【参考方案1】:Makefile(和 make)对空格非常敏感。 CHECK2
的定义中似乎有很多空格(但CHECK
没有),所以它们不相等。
【讨论】:
就是这样!现在可以使用了,谢谢! (伙计,我花了很多时间) 具体(来自手册)“尾随空格字符不会从变量值中剥离”。 谢谢伊坦。我想我应该 RTFM。对于其他有同样问题的人,手册中的声明可以在 gnu.org make manual > 6.2 the Two Flavors of Variables 中找到。我只看了 > 6.5 设置变量以上是关于基本的makefile ifeq 如何的主要内容,如果未能解决你的问题,请参考以下文章
makefile中ifeq,ifneq,ifdef和ifndef的区别与用法
makefile中ifeq,ifneq,ifdef和ifndef的区别与用法