我的Makefile中有一个变量列表:
varglob := a1 a2 a3 a4 a5 a6
我想从varglob创建一个新变量但是要删除一些特定元素,例如" a3"。
我想到了foreach,但我的问题是我不知道如何在foreach中测试ifneq。所以我试着像这样使用shell:
varglobelim := $(foreach y, $(varglob), $(shell if [$(y) != "a3"]; then echo $y;fi))
但这种解决方案并不成功。我收到一条空信息。
还有其他建议吗?
答案 0 :(得分:1)
filter-out
是你的朋友:
varglob := a1 a2 a3 a4 a5 a6 b7 b8 b-whatever
has-no-ticket := a3 b% # a3 and all the b's didn't pay the ride
varglobelim := $(filter-out $(has-no-ticket),$(varglob))