如何从Makefile中的版本字符串中获取简短的版本字符串?假设简短版本字符串由sed 's/\.[0-9][0-9]$//g' $version
获得。
version=v3.2.11
version_short=$(patsubst %.11,%,$(version))
print-% : ; @echo $* = $($*)
all: print-version_short
答案 0 :(得分:1)
您没有在标签中列出GNU make,但是您的makefile显然是GNU make,所以我会以实物回应。
如果您知道总有两个“。”,可以这样进行:
combine = $(word 1,$1).$(word 2,$1)
short := $(call combine,$(subst ., ,$(version)))
这将转换“。”到空格,然后调用带有结果参数的用户定义函数,该函数将前两个参数放回去。