patsubst
是 Makefile 中的一个函数,用于对字符串进行模式匹配和替换。
它的语法如下:
patsubst <模式>,<替换字符串>,<目标字符串>
<模式>
:指定要匹配的模式,可以使用通配符 %
表示任意字符。<替换字符串>
:指定替换模式匹配到的字符串的字符串。<目标字符串>
:要进行模式匹配和替换的字符串。patsubst
函数会从 <目标字符串>
中搜索符合 <模式>
的子串,并将其替换为 <替换字符串>
。它可以用于文件名的扩展,将某个文件名的后缀替换为另一个后缀,或者将文件名中的路径替换为另一个路径等。
以下是一个示例:
SRCS := src/file1.c src/file2.c src/file3.c
OBJS := $(patsubst src/%.c, obj/%.o, $(SRCS))
在上述示例中,SRCS
定义了一组源文件列表,OBJS
则使用 patsubst
函数对每个源文件进行模式匹配和替换,将 src/
替换为 obj/
,得到对应的目标文件列表。