我无法找到在makefile中完成此操作的方法,也许有人可以帮助我:
我有两个列表,一个带有文件名
$FILES = file1 file2 ...
和一个带后缀的
$SUF = .suf1 .suf2 ...
我想得到一个像
file1.suf1 file2.suf1 file1.suf2 file2.suf2 ...
我怎样才能在makefile中做到这一点?
我无法找到在makefile中完成此操作的方法,也许有人可以帮助我:
我有两个列表,一个带有文件名
$FILES = file1 file2 ...
和一个带后缀的
$SUF = .suf1 .suf2 ...
我想得到一个像
file1.suf1 file2.suf1 file1.suf2 file2.suf2 ...
我怎样才能在makefile中做到这一点?
根据定义,一切都可以在生成文件中完成。
首先,您的变量语法不正确。应该没有$
FILES := file0 file1
请注意,:=
除非您有充分的理由使用=
. (另外,如果一个受访者开始他们的阵列,1
我会说“不雇用”。但那可能只是我)。
现在,您的问题的一个解决方案是
$(foreach suf, $(SUF),$(addsuffix $(suf), $(FILES)))
像下面这样的东西会起作用。
FILES = file1 file2 file3 file4
SUF = .suf1 .suf2 .suf3 .suf4
$(info $(foreach s,$(SUF),$(foreach f,$(FILES),$f$s)))
$(info $(foreach s,$(SUF),$(addsuffix $s,$(FILES))))