compat wireless missing `endif'. Stop.

Published: 29 Apr 2014 Category: linux

项目中用的wifi模块(skw17),用的是Atheros的芯片(高通创锐讯),驱动要用compat wireless。但是在编译compat wireless不同的版本的过程中会遇到这个错误:

config.mk:40: *** missing `endif'.  Stop.  

看到这个错误,很显然的认为config.mk的第40少了个endif,但是我打开config.mk,第40行是这样子的:

$(foreach ver,$(COMPAT_VERSIONS),$(eval CONFIG_COMPAT_KERNEL_3_$(ver)=y))   

傻眼了,没有找到endif相对应的if的影子。于是把整个config.mk看了一遍没有发现哪边少个endif。没办法,谷歌半天,好多人遇到这样子的情况,但是没有给具体解决办法,只能归结到自己的make不支持这种语法了。于是,索性把这行注释掉,再编译就顺利通过了。

这样子看来是这句话出了问题,看了一下大概eval这个函数用错了,导致编译出错。于是乎,直接在下面添加了一句:

CONFIG_COMPAT_KERNEL_3_1 := y  

这要根据自己的实际情况添加。