替换模式中的Makefile patsubs多次出现
我有3个dir,希望将一个可执行文件链接到库 我已经有了目录列表:替换模式中的Makefile patsubs多次出现,makefile,Makefile,我有3个dir,希望将一个可执行文件链接到库 我已经有了目录列表: DIRS=数学图测试 我想得到如下所示的库列表: LIBS=Math/libMath.a图形/libGraph.a测试/libTest.a 如果我使用这个: $(目录:%=%/%.a) 我得到: Math/%.a图形/%.a测试/.a 说: 只有模式和替换中的第一个“%”被这样处理任何后续“%”都将保持不变 这里需要替换两个引用,而不仅仅是第一个引用。您必须使用循环: LIBS := $(foreach D,$(DIRS),$D
DIRS=数学图测试
我想得到如下所示的库列表:
LIBS=Math/libMath.a图形/libGraph.a测试/libTest.a
如果我使用这个:
$(目录:%=%/%.a)
我得到:
Math/%.a图形/%.a测试/.a
说:
只有模式和替换中的第一个“%”被这样处理任何后续“%”都将保持不变
这里需要替换两个引用,而不仅仅是第一个引用。您必须使用循环:
LIBS := $(foreach D,$(DIRS),$D/lib$D.a)
最终我使用了:
库:=$(加入$(目录),$(目录:%=/lib%.a))