使用GNU make对版本字符串进行文本替换

时间:2015-06-28 16:34:10

标签: versioning gnu-make

这个问题特定于GNU make。给出makefile中的版本字符串,例如:

VER = 1.23.345.6

是否可以从字符串中剥离尾随组件?假设期望的结果是前两个组件,即(major.minor):

VERPREFIX = 1.23

尽管可以使用支持正则表达式的命令行程序$(shell)来实现它(例如sedperl),但我想知道GNU中的本机文本过滤功能是否正常可以达到同样的效果。

1 个答案:

答案 0 :(得分:1)

尝试:

# Create a variable $S containing a space
E :=
S := $E $E

# Get the first and second elements of a version string
VERPREFIX := $(subst $S,.,$(wordlist 1,2,$(subst .,$S,$(VER))))