0

たとえば、変数$(modules)があり、この変数には、「Modules = obj1 obj2 ...」などのオブジェクトのリスト(スペースで区切られた文字列)が含まれています。

モジュール内の各objにはリストも含まれています。たとえば、「obj1 =obj1aobj1b...」などです

ここで、これらすべての最低レベルの変数(obj1aなど)を含む変数を作成します。たとえば、「$(variable)= obj1a obj1b ... obj2aobj2b...」のようになります。

$($(modules))を試しました...明らかに機能しませんでした...

4

2 に答える 2

0

それで、あなたが説明したことから、あなたの「オブジェクト」名を保持する3つの変数、obj1、obj2、およびobj3があると仮定しましょう。次に、これら3つの変数の内容を保持する変数(MODULESなど)が必要です。

以下のコードのようなものはあなたが望むことをしませんか?

.PHONY: test

MODULES=$(obj1) $(obj2) $(obj3)
obj1=foo1 bar1
obj2=foo2 bar2
obj3=foo3 bar3

all:
    echo $(MODULES)

明らかに「エコー」をあなたが望むものに置き換えますか?

于 2012-05-29T20:46:50.903 に答える
0

foreach関数を使用する:

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'
于 2012-05-29T20:56:19.480 に答える