如何从变量中提取第n个单词并将其分配给makefile中的另一个变量

时间:2014-08-21 09:53:50

标签: makefile

我的makefile有:

 debug:
    W1 := foo bar cat

我想提取每个单词foo,bar和cat,并获得如下输出:

v1=foo

v2=bar

v3=cat

我试过了:

W1 :=foo bar cat

v1 :=$(word 1, $$(W1))

v2 :=$(word 2, $$(W1))

v3 :=$(word 3, $$(W1))

debug:

     @echo "${v1}"
     @echo "${v2}"
     @echo "${v3}"

不按我想要的方式工作。请帮忙

1 个答案:

答案 0 :(得分:0)

(在评论中回答。见Empty InfoWindow when Marker is clicked

@MadScientist写道:

  

你为什么使用双美元符号?这只是告诉make不要扩展价值,所以你肯定不会得到你想要的。使用$(word 2,$(W1))

@Etan Reisner写道:

  

此外,由于变量是make(而不是shell)变量,因此您可以在规则体中使用echo '${v1}'(或echo '$(v1)'(这是我的偏好),而不是使用双引号。