Makefile:从版本字符串获取简短的版本字符串

时间:2020-11-08 12:27:31

标签: makefile

如何从Makefile中的版本字符串中获取简短的版本字符串?假设简短版本字符串由sed 's/\.[0-9][0-9]$//g' $version获得。

version=v3.2.11
version_short=$(patsubst %.11,%,$(version))
print-%  : ; @echo $* = $($*)
all: print-version_short

1 个答案:

答案 0 :(得分:1)

您没有在标签中列出GNU make,但是您的makefile显然是GNU make,所以我会以实物回应。

如果您知道总有两个“。”,可以这样进行:

combine = $(word 1,$1).$(word 2,$1)

short := $(call combine,$(subst ., ,$(version)))

这将转换“。”到空格,然后调用带有结果参数的用户定义函数,该函数将前两个参数放回去。