在我的makefile中,我有一个带有目录列表的变量,如下所示:
DIRS = /usr /usr/share/ /lib
现在,我需要从它创建PATH变量,这基本上是相同的,但使用分号作为分隔符:
PATH = /usr:/usr/share/:/lib
我该怎么做?我的意思是,如何使用分号而不是空格来连接DIRS列表的元素?
发布于 2009-10-09 08:55:11
您可以使用$(subst)
命令,结合一个小技巧来获得一个值为单个空格的变量:
p = /usr /usr/share /lib
noop=
space = $(noop) $(noop)
all:
@echo $(subst $(space),:,$(p))
发布于 2018-07-10 00:38:01
您使用':‘作为分隔符,因此您是在Linux上。考虑使用bash工具链将连续的空格替换为单个冒号
PATH := $(shell echo $(DIRS) | sed "s/ \+/:/g")
https://stackoverflow.com/questions/1541844
复制相似问题