Makefile GNU生成解析变量
我想在makefile中解析变量,该变量有下一个语法:Makefile GNU生成解析变量,makefile,gnu-make,Makefile,Gnu Make,我想在makefile中解析变量,该变量有下一个语法: VARIABLE=folder1=file1,folder2=file2,...,folderN=fileN 下面是我想用它做的: ifdef VARIABLE # # here I want to assign FOLDER to "folder1, folder2... folderN" in the loop # and then compare it with current folder # ifeq ($(FOLDER),
VARIABLE=folder1=file1,folder2=file2,...,folderN=fileN
下面是我想用它做的:
ifdef VARIABLE
#
# here I want to assign FOLDER to "folder1, folder2... folderN" in the loop
# and then compare it with current folder
#
ifeq ($(FOLDER),$(CURRENT_FOLDER))
#
# if true assign FILE1=file1
#
export MYFILE := FILE1
endif
else
export MYFILE = default_name
endif
我该怎么做呢?如果您将分隔符
,
更改为其他分隔符,例如:
VARIABLE=folder1=file1:folder2=file2:...:folderN=fileN
您可以拆分列表
L=$(subst :, ,$(VARIABLE))
提取文件夹(如果有)
E=$(filter $(CURRENT_FOLDER)=%, $L)
并将=
之后的最后一部分分配给MYFILE
ifneq ($E,)
export MYFILE := $(patsubst $(CURRENT_FOLDER)=%,%,$E)
else
export MYFILE = default_name
endif
非常感谢。这正是我想要的。