我的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}"
不按我想要的方式工作。请帮忙
答案 0 :(得分:0)
(在评论中回答。见Empty InfoWindow when Marker is clicked)
@MadScientist写道:
你为什么使用双美元符号?这只是告诉make不要扩展价值,所以你肯定不会得到你想要的。使用
$(word 2,$(W1))
等
@Etan Reisner写道:
此外,由于变量是make(而不是shell)变量,因此您可以在规则体中使用
echo '${v1}'
(或echo '$(v1)'
(这是我的偏好),而不是使用双引号。