MakeFile中ifeq语法报错

/bin/sh: -c: line 0: syntax error near unexpected token `64,'

  1. /bin/sh: -c: line 0: `ifeq (64, 64)'

 

【原因】

 

Makefile中,当 ifeq, else 和 endif 没有缩进时,make会正确识别它们,将其作为分支选择的标识

当 ifeq, else 和 endif 有缩进时,make将它们当做普通的shell script

 

【解决】

 

去掉 ifeq, else 和 endif 的缩进,像下面这样

ifeq ($(os),Darwin)

注意:ifeq 和括号的左右必须要有空格。括号内不能有空格

由此说明makefile中关键字,函数,命令的不同,命令前必须要有tab,函是这样的$(if)形式,关键字如ifeq前面不能有tab缩进。


版权声明:本文为m0_38130105原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。