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



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

以下摘录是天真的尝试这样做,但没有成功。

define FILELIST
  src/foo.c
  src/bar.c
  src/frobnicator.c
endef
empty :=
space := $(empty) $(empty)
$(subst n,$(space),$(FILELIST))
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

最新更新