语法错误:单词意外(期待“)”)?

时间:2014-01-20 05:36:34

标签: makefile

PLATFORM = x86
CUD = cuda
X86 = x86
PAN = panda
ARM = arm

app: 
    ifeq($(PLATFORM),$(CUD))
CC = dum3
endif
ifeq($(PLATFORM), $(X86))
CC = gcc
endif
ifeq($(PLATFORM),$(PAN))
CC = dum1
endif
ifeq($(PLATFORM),$(ARM))
CC = dum2
endif


$(CC) -o ./Executable/list  ./Source/ll_main.c ./Library/liblst.a
./Executable/list

当我做这个时它显示错误.... 语法错误:单词意外(期待“)”)?

Plzz ..帮助..

1 个答案:

答案 0 :(得分:28)

你问题中的格式(makefile和错误信息)太过混乱以至于无法确定,但我怀疑你的ifeq是用TAB缩进的。

那不对; ifeq make 命令。 (几乎)所有带有TAB字符的行作为makefile中行的第一个字符传递给 shell 。 shell对ifeq一无所知,因此,根据您的shell,可能会打印出类似的错误。

您应该在app:块之后移动ifeq目标,直到使用$(CC)之前(并确保$(CC) ...行缩进并使用TAB作为第一个那条线上的字符)。

将来请务必使用SO的格式化功能,一定要准确地剪切和粘贴错误信息,并在提问时提出前后几行背景信息。