在 Makefile 中转义字符 'addprefix'

Escaping characters in Makefiles 'addprefix'

我有一个库列表:

lib_paths := dir1 dir2 dir3

我想通过

添加到我的 rpath
LDFLAGS += (addprefix -Wl,-rpath,$(lib_paths))

当然,这会失败,因为 , 是 Makefile 中 addprefix 函数的分隔符。如何转义逗号?

你必须把它放在一个变量中。 Make 会在逗号 之前打破参数 它扩展它们,所以:

comma = ,

LDFLAGS += $(addprefix -Wl$(comma)-rpath,$(lib_paths))