GNU Make将空格转换为冒号 [英] GNU Make Convert Spaces to Colons

查看:16
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆