GNU Make将空格转换为冒号 [英] GNU Make Convert Spaces to Colons
本文介绍了GNU Make将空格转换为冒号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
给定冒号分隔的路径列表,使用GNU make获取空格分隔的列表非常简单:
CPATHS := /usr/bin/foo:/usr/bin/baz:/usr/bin/baz
SPATHS := $(subst :, ,$(CPATHS))
然而,我找不到一个好的方法去相反的方向。以下黑客攻击确实有效(至少在安装了sed的情况下),但我确信只需使用make的内部函数就会有更好的方法来解决此问题。
SPATHS := /usr/bin/foo /usr/bin/baz /usr/bin/baz
CPATHS := $(shell echo $(SPATHS) > tmp; sed 's/ +/:/g' tmp; rm tmp)
推荐答案
这里唯一棘手的部分是定义文字空格:
space := $(subst ,, )
SPATHS := /usr/bin/foo /usr/bin/baz /usr/bin/baz
CPATHS := $(subst $(space),:,$(SPATHS))
这篇关于GNU Make将空格转换为冒号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文