在makefile中解析字符串

时间:2014-09-19 12:30:56

标签: makefile

我需要在Makefile中解析一个字符串,并获取分配给字符串中解析的变量的值。 字符串包含此数据" Days = false; export Day; EXTRACT = true; export EXTRACT"。 首先,我需要检查字符串中是否存在变量(例如Days)。如果存在,则想要获取变量的值。

我尝试使用findstring函数我可以验证变量是否存在于字符串中,但我找到了如何获取赋值给变量的值。str1 := Days='true';export Days;EXTRACT=true;export EXTRACT; a := $(findstring Days=, $(str1))

1 个答案:

答案 0 :(得分:0)

str1 := Days='true';export Days;EXTRACT=true;export EXTRACT;

define VARIABLE_EQ_VALUE_IN_STRING
$(eval $(filter $1=%, $(subst ;, ,$2)))
endef

$(call VARIABLE_EQ_VALUE_IN_STRING,Days, $(str1))

在此代码之后,$(Days)'true'

另一方面,如果str1未包含对Days的分配,那么在此代码之后,Days将是未定义的。