1
我有这个末变量之间添加字符串GNU让
SRC = file1.c file2.c file3.c
如何使之成为
file1.c + file2.c + file3.c
我能得到最接近的是(注意“+”号)使用
file1.c + file2.c + file3.c +
SRC2 := $(SRC:.c=.c +)
我有这个末变量之间添加字符串GNU让
SRC = file1.c file2.c file3.c
如何使之成为
file1.c + file2.c + file3.c
我能得到最接近的是(注意“+”号)使用
file1.c + file2.c + file3.c +
SRC2 := $(SRC:.c=.c +)
下面是做这件事:
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)
之间没有空格!
感谢这两个解决方案。我确实找到了另一种方式。 'SRC2 = $(subst.c,.c +,$(subst $(lastword $(SRC)),, $(SRC)))$(lastword $(SRC))' – checksum
对于你需要什么文件名之间的+?你想'SRC + = file1.c file2.c file3.c'? –
需要使用简单的Windows复制命令来合并文件的内容。 'copy/b file1.c + file2.c + file3.c output.bin' – checksum