如何使用make
的模式特定变量值功能https://www.gnu.org/software/make/manual/html_node/Pattern_002dspecific.html#Pattern_002dspecific定义多个变量?例如,假设已经定义了LIBDIR
和RPATH
,我想设置以下内容:
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
但我还没有运气。
答案 0 :(得分:1)
我不完全确定我明白你想做什么,但听起来好像这样做:
utest% : LDFLAGS += -L$(LIBDIR) $(RPATH)
utest% : LDLIBS += -lsomelibrary