在GNU Make的变量之间添加字符串

时间:2011-10-13 01:34:51

标签: windows makefile gnu

我有这个

SRC = file1.c file2.c file3.c

如何进入

file1.c + file2.c + file3.c

我能得到的最接近的是(注意末尾的“+”符号)

file1.c + file2.c + file3.c +
使用

SRC2 := $(SRC:.c=.c +)

1 个答案:

答案 0 :(得分:0)

这是一种方法:

SRC=abc def ghi
SRC2=$(word 1,$(SRC))$(foreach f,$(wordlist 2,99999,$(SRC)), + $(f))
all:
        @echo $(SRC2)

也就是说,剥离第一个单词,然后无条件地用“+”前缀添加每个附加单词。

这是另一个,只有在您确定SRC中的每个单词之间只有一个空格时才有效。

EMPTY=
SPACE=$(EMPTY) $(EMPTY)
SRC=abc def ghi
SRC2=$(subst $(SPACE), $(SPACE)+$(SPACE),$(SRC))
all:
        @echo $(SRC2)

这次的想法是用序列空间加空格替换单个空格字符。确保逗号和$(SRC)之间没有空格!