在Makefile中,我可以通过$(CURDIR)
获取完整路径字符串。结果就像/home/jones/prj/platform/Application_UBUNTU/build_os
。如何从字符串中提取UBUNTU
?
我使用subst将'/'替换为空格。
DIR = $(subst /, " ", $(CURDIR))
我得到home jones prj platform Application_UBUNTU build_os
的结果。
然后我尝试使用filter命令,但我不能使用%或通配符来匹配Application_UBUNTU
。提前感谢您的帮助。
答案 0 :(得分:1)
使用我的回答here中的penultimateword
宏。
penultimateword = $(wordlist $(words $1),$(words $1), x $1)
BUILD_OS=$(call penultimateword,$(subst /, ,$(CURDIR)))
BUILD_OS=$(subst _, ,$(BUILD_OS))
BUILD_OS=$(word 2,$(BUILD_OS))
这显然对路径/ etc中的额外下划线很敏感。