例如,我有一个变量$(modules),这个变量包含一个对象的列表(用空格分隔的字符串),比如“Modules = obj1 obj2 ...”等等。
模块中的每个obj也包含一个列表,假设“obj1 = obj1a obj1b ...”等等。
现在,我想创建一个变量来包含所有这些最低级别的变量(例如obj1a),例如,“$(variable)= obj1a obj1b ... obj2a obj2b ...”
我试过$($(模块))......它显然不起作用......
答案 0 :(得分:0)
所以,根据你的描述,让我们假设你有三个变量,obj1,obj2和obj3,它们包含你的“对象”名称。然后,你想要一个变量,比如MODULES,来保存这三个变量的内容。
下面的代码不会做你想要的吗?
.PHONY: test
MODULES=$(obj1) $(obj2) $(obj3)
obj1=foo1 bar1
obj2=foo2 bar2
obj3=foo3 bar3
all:
echo $(MODULES)
显然用“回声”代替你想要的东西?
答案 1 :(得分:0)
MODULES := foo bar baz
foo := a b c
bar := i j k
baz := x y z
FLAT_MODULES := $(foreach m,$(MODULES),$($m))
# FLAT_MODULES is now 'a b c i j k x y z'