make:使用特定于模式的变量值定义多个变量

时间:2017-06-17 22:58:51

标签: makefile gnu-make

如何使用make的模式特定变量值功能https://www.gnu.org/software/make/manual/html_node/Pattern_002dspecific.html#Pattern_002dspecific定义多个变量?例如,假设已经定义了LIBDIRRPATH,我想设置以下内容:

LDFLAGS += -L$(LIBDIR) $(RPATH)
LDLIBS += -lsomelibrary

用于与模式utest%匹配的构建。例如,

utest% : -L$(LIBDIR) $(RPATH)

会让我到达那里,但是如何定义第二个变量?

我认为可能使用多行变量https://www.gnu.org/software/make/manual/html_node/Multi_002dLine.html会起作用,但我无法实现。我试过了:

define linking_vars :=
LDFLAGS := -L$(LIBDIR) $(RPATH)
LDLIBS := -lsomelibrary
endef

utest% : $(linking_vars)

以及

define newline = 

endef

utest_% : LDFLAGS := -L$(LIBDIR) $(RPATH) $(newline) LDLIBS := -lsomelibrary

但我还没有运气。

1 个答案:

答案 0 :(得分:1)

我不完全确定我明白你想做什么,但听起来好像这样做:

utest% : LDFLAGS += -L$(LIBDIR) $(RPATH)
utest% : LDLIBS += -lsomelibrary