Makefile 中的 addprefix 函数用于在列表中的每个单词前添加一个前缀。使用 addprefix 函数的语法如下:
```
$(addprefix prefix, names...)
```
其中,`prefix` 是要添加到列表中每个单词前面的前缀,`names` 是要添加前缀的单词列表。
例如,假设您有一个源文件列表,您想将其编译成目标文件。您可以使用 addprefix 函数将前缀 "src/" 添加到每个文件名中,如下所示:
```
SRCS = foo.c bar.c baz.c
OBJS = $(addprefix src/, $(SRCS:.c=.o))
```
在此示例中,`SRCS` 变量包含源文件列表,`OBJS` 变量设置为相同的文件列表,其中添加了前缀 "src/"。`$(SRCS:.c=.o)` 表达式用于将每个文件名的 ".c" 扩展名替换为 ".o",这是目标文件的扩展名。
`OBJS` 的结果值将是:
```
src/foo.o src/bar.o src/baz.o
```
然后,可以使用此目标文件列表来编写规则,将源文件编译为目标文件。