我有3个目录,想要将可执行文件链接到库
我已经有了目录列表:
DIRS=Math Graph Test
我想得到像这样的图书馆列表:
LIBS=Math/libMath.a Graph/libGraph.a Test/libTest.a
如果我使用它:
$(DIRS:%=%/%.a)
我明白了:
Math/%.a Graph/%.a Test/%.a
模式和替换中只有第一个'%'以这种方式处理; 任何后续'%'不变。
这里我需要更换2次,而不仅仅是第一次。
答案 0 :(得分:4)
您必须使用循环:
LIBS := $(foreach D,$(DIRS),$D/lib$D.a)
答案 1 :(得分:1)
最终我用过:
LIBS:= $(join $(DIRS), $(DIRS:%=/lib%.a))