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/
,得到對應的目標文件列表。