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 ..帮助..
答案 0 :(得分:28)
你问题中的格式(makefile和错误信息)太过混乱以至于无法确定,但我怀疑你的ifeq
是用TAB缩进的。
那不对; ifeq
是 make 命令。 (几乎)所有带有TAB字符的行作为makefile中行的第一个字符传递给 shell 。 shell对ifeq
一无所知,因此,根据您的shell,可能会打印出类似的错误。
您应该在app:
块之后移动ifeq
目标,直到使用$(CC)
之前(并确保$(CC) ...
行缩进并使用TAB作为第一个那条线上的字符)。
将来请务必使用SO的格式化功能,和一定要准确地剪切和粘贴错误信息,并在提问时提出前后几行背景信息。