为什么我不能使用' ='在GNU makefile中定义之后?文档建议我可以

时间:2012-05-27 12:05:02

标签: makefile gnu-make

我正在尝试在GNU make中使用define。在这个测试上运行make Makefile回应“虚拟”:

define FOO =
$$(error foo $(1))
endef

$(eval $(call FOO,bar))

all:
    @echo dummy

如果我删除了=,则错误与foo bar一致。

GNU make手册包含所有定义示例,使用带有等号的表单。为什么我似乎忽略了这一点?

1 个答案:

答案 0 :(得分:6)

在GNU Make 3.82中引入了带有赋值的{p> define,很可能是你使用的是旧版本。

但是,在最近的版本中,define foo =与普通define foo相同,只需使用后者即可使其适用于3.82之前的版本。