Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试define在 GNU make 中使用。在这个测试 Makefile 上运行 make 会回显“dummy”:
define
define FOO = $$(error foo $(1)) endef $(eval $(call FOO,bar)) all: @echo dummy
如果我删除=,那么它会foo bar按照我的意图出错。
=
foo bar
GNU make 手册有所有使用等号形式的定义示例。为什么这对我来说似乎被忽略了?
definewith assignment 是在 GNU Make 3.82 中引入的,很可能您使用的是旧版本。
但是,在最近的版本define foo =中与 plain 相同define foo,只需使用后者即可使其与 pre-3.82 版本一起使用。
define foo =
define foo