2014-02-16 25 views
2

我有一个make变量,其中包含每行一个文件的文件列表,我想将它们全部加入单行空格分隔的列表。如何使用Make函数对新行进行文本替换?

下面的摘录是一个天真的尝试,没有成功。

define FILELIST 
    src/foo.c 
    src/bar.c 
    src/frobnicator.c 
endef 
empty := 
space := $(empty) $(empty) 
$(subst \n,$(space),$(FILELIST)) 

回答

0
define FILELIST 
    src/foo.c 
    src/bar.c 
    src/frobnicator.c 
endef 

$(info FILELIST=$(FILELIST)) 
F1 := $(foreach w, $(FILELIST), $(strip $(w))) 
$(info F1=$(F1)) 
FILELIST := $(strip $(F1)) 
$(info FILELIST=$(FILELIST)) 

结果:

FILELIST= src/foo.c 
    src/bar.c 
    src/frobnicator.c 
F1= src/foo.c src/bar.c src/frobnicator.c 
FILELIST=src/foo.c src/bar.c src/frobnicator.c 
相关问题