Makefile $(eval $(call)) function



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错误。

相关内容

  • 没有找到相关文章

最新更新