基本的 makefile ifeq 如何

basic makefile ifeq how to

我刚开始学习 Makefile,但在使用 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(和 make)对空格极其敏感。您似乎在 CHECK2 的定义中有很多空格(但 CHECK 没有),所以它们不相等。