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
当我这样做时,它显示错误。...语法错误:单词意外(期望“)”)?
请帮助
您的问题(makefile和错误消息)中的格式过于混乱以至于无法确定,但是我怀疑您ifeq
的TAB缩进了。
那是不对的; ifeq
是一个make命令。(几乎)所有带有TAB字符的行(作为makefile中该行的第一个字符)都传递给shell。外壳程序不了解ifeq
,因此,根据您的外壳程序,可能会打印出这样的错误。
您应该将app:
目标移动到ifeq
块的后面,直到使用该块之前$(CC)
(并确保该$(CC) ...
行缩进以TAB作为该行的第一个字符)。
将来,请确保使用SO的格式化功能,并确保准确地剪切和粘贴错误消息,以及在提出问题时前后添加几行上下文。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句