makefile中的简单代码
define fun
@echo this is function
endef
78 all:
79 $(foreach objdir, $(OBJECTDIRS), $(eval $(call fun)))
错误信息是:Makefile: 79:*缺少分隔符。停止。* *
注意:我已经检查了$(OBJECTDIRS)不是空的,$(oobjdir)也
如果我把代码改成行:
define fun
@echo this is function
endef
all:
$(call fun())
那么它运行良好
makeeval
函数将您给出的文本计算为makefile(期望makefile sytnax)。
文本@echo this is a function
不是makefile.
换句话说,如果你创建了一个Makefile并在其中放入以下文本:
@echo this is a function
(单独,没有其他),并且在该makefile上运行make
,您将得到相同的missing separator
错误。