patsubst函数是GNU make中的一个内置函数,用于对指定的字符串进行模式替换。它的语法如下:
```
$(patsubst pattern,replacement,text)
```
其中,pattern是要匹配的模式,replacement是用于替换的字符串,text是要进行替换的文本。
patsubst函数会在text中查找与pattern匹配的部分,并将其替换为replacement。它可以用于对文件名、路径名等进行模式替换。
以下是patsubst函数的使用示例:
```makefile
# 将src目录下的所有.c文件替换为.o文件
OBJS = $(patsubst src/%.c,obj/%.o,$(wildcard src/*.c))
# 将所有的.c文件替换为.o文件
OBJS = $(patsubst %.c,%.o,$(wildcard *.c))
```
wildcard函数也是GNU make中的一个内置函数,用于查找文件。它的语法如下:
```
$(wildcard pattern)
```
其中,pattern是要查找的文件模式。
wildcard函数会在当前目录下查找与pattern匹配的文件,并返回匹配到的文件列表。它可以用于获取指定目录下的文件列表,或者根据文件模式来进行操作。
以下是wildcard函数的使用示例:
```makefile
# 获取当前目录下所有的.c文件
SRCS = $(wildcard *.c)
# 获取src目录下的所有的.c文件
SRCS = $(wildcard src/*.c)
```
patsubst函数和wildcard函数常常一起使用,可以方便地进行文件名、路径名的模式替换和查找操作。