在执行make时出现如下问题:
:24:ifeq ($(XXX), aaa)
XXX:= a
26:else ifeq ($(XXX), bbb)
XXX:= b
28:else
$(error ; check ./ReadMe)
endif
makefile:26: Extraneous text after `else' directive
makefile:28: *** only one `else' per conditional. Stop.
问题原因:linux make版本太低,不支持else ifeq
解决办法:1) 内嵌 2)升级make版本(3.8.0版本不支持,3.8.2以上支持)
解决办法:ifeq不能和else同一行,否则Makefile语法错误,此版本不支持else ifeq
1)
ifeq ()
else
ifeq ()
else
endif
endif
2)检查升级make版本至3.8.2以上(可通过make -v 查看当前版本)