2013-07-17 44 views
0

我有一個字符串列表,如x y z,我想將其轉換爲a/liba.lib b/libb.a c/libc.a任何方式在Makefile上做到這一點?

任何想法? ($(INPUT:%=%/lib%.a)產生a/lib%.lib b/lib%.a c/lib%.a,所以不要試圖嘗試那個)。

+1

我想不出任何合理的改造,將變成'x'成'A/liba.lib'以外'如果(輸入== 「X」)返回「a/liba.lib」;',這根本不是一個轉換 - 它是一個替代品... – twalberg

回答

1
INPUT := x y z 
OUTPUT := $(foreach x,${INPUT},${x}/lib${x}.lib) 

$(info INPUT=${INPUT}) 
$(info OUTPUT=${OUTPUT}) 

輸出:

INPUT=x y z 
OUTPUT=x/libx.lib y/liby.lib z/libz.lib 
+1

這將工作,但我認爲額外的'$(call ...)'增加了不必要的複雜性。我只會使用:'$(foreach x,$(INPUT),$ x/lib $ x.lib)' – MadScientist

+0

@MadScientist你是對的,這是多餘的。 –

+0

@MadScientist Paul D. Smith是你的名字嗎? –

相關問題