我有一个类似这样的变量:
VAR := obj/test obj/var/test2 bin/another/one bob/billy/joe
我想获取一个仅包含第一个文件夹的变量,例如:
VAR2 = obj bin bob
我认为我需要使用subst,但是我不知道该怎么做...
答案 0 :(得分:1)
不确定这是最简单的解决方案,但如果:
类似:
VAR2 := $(sort $(foreach p,$(VAR),$(firstword $(subst /, ,$(p)))))
应该做到。
$(subst /, ,$(p))
在扩展make变量/
的扩展中用空格替换所有p
firstword
仅保留结果的第一个单词,即您感兴趣的第一个文件夹foreach
遍历VAR
的单词,并将make变量p
设置为当前单词sort
删除重复项(和...排序)。