2013-02-13 34 views
0

我想在makefile來分析變量,這個變量旁邊的語法:GNU使解析變量

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 

我怎麼能這樣做?

回答

1

如果更換分離,到一些其他的,:例如

VARIABLE=folder1=file1:folder2=file2:...:folderN=fileN 

可以拆分列表

L=$(subst :, ,$(VARIABLE)) 

解壓文件夾,如果任何

E=$(filter $(CURRENT_FOLDER)=%, $L) 

和分配=至後的最後一部分

ifneq ($E,) 
export MYFILE := $(patsubst $(CURRENT_FOLDER)=%,%,$E) 
else 
export MYFILE = default_name 
endif 
+0

謝謝!這正是我要求的。 – Jurasic 2013-02-14 08:51:41