首页 > 解决方案 > 如何从生成文件字符串变量中提取模式

问题描述

在 Makefile 中,我有一个变量DPDK_CUSTOM_REPO_VERSION,定义如下:

DPDK_CUSTOM_REPO_VERSION="dpdk-19.08-devel"

如何19.08从上面的字符串中提取到另一个变量中DPDK_VERSION

标签: makefile

解决方案


- 命令的字符串处理能力make有些限制,但您可以尝试以下方法:

-用空格替换所有出现的:

$(subst -, ,$(DPDK_CUSTOM_REPO_VERSION)

产生dpdk 19.08 devel并取第二个词:

$(word 2, $(subst -, ,$(DPDK_CUSTOM_REPO_VERSION)))

如果模式没有显着变化,这应该会产生正确的结果。把它放在一起:

DPDK_CUSTOM_REPO_VERSION="dpdk-19.08-devel"
DPDK_VERSION=$(word 2,$(subst -, ,$(DPDK_CUSTOM_REPO_VERSION)))

test:
        echo $(DPDK_VERSION)

推荐阅读