Makefile在数组的前面和后面添加所有元素

Chr*_*ith 6 makefile

我正在编写一个Makefile,我有所有文件的列表(不带src/.cpp),我想将它们转换为build/*.o。这是我已经尝试过的方法:

FILES=icxxabi list memory string
OBJECTS=$(echo ("${build/$$FILES[@].o}")[@])
Run Code Online (Sandbox Code Playgroud)

因此对于input a dir/b c,它应该输出:

build/a.o build/dir/b.o build/c.o
Run Code Online (Sandbox Code Playgroud)

小智 8

使用GNU Make,您可以尝试

OBJECTS=$(patsubst %, build/%.o, $(FILES))
Run Code Online (Sandbox Code Playgroud)