我需要在Makefile中解析一个字符串,并获取分配给字符串中解析的变量的值。 字符串包含此数据" Days = false; export Day; EXTRACT = true; export EXTRACT"。 首先,我需要检查字符串中是否存在变量(例如Days)。如果存在,则想要获取变量的值。
我尝试使用findstring函数我可以验证变量是否存在于字符串中,但我找到了如何获取赋值给变量的值。str1 := Days='true';export Days;EXTRACT=true;export EXTRACT;
a := $(findstring Days=, $(str1))
答案 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
将是未定义的。