如何使用Make函数执行新行的文本替换?

时间:2014-02-16 09:53:59

标签: makefile

我有一个make变量,其中包含每行一个文件的文件列表,我想将它们全部加入到单行空格分隔列表中。

以下摘录是一种天真的尝试,但没有成功。

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

1 个答案:

答案 0 :(得分: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