溫馨提示×

【makefile筆記】patsubst和wildcard函數(shù)使用小結(jié)

小云
110
2023-09-09 07:20:34
欄目: 編程語言

patsubst函數(shù)是GNU make中的一個內(nèi)置函數(shù),用于對指定的字符串進(jìn)行模式替換。它的語法如下:

$(patsubst pattern,replacement,text)

其中,pattern是要匹配的模式,replacement是用于替換的字符串,text是要進(jìn)行替換的文本。

patsubst函數(shù)會在text中查找與pattern匹配的部分,并將其替換為replacement。它可以用于對文件名、路徑名等進(jìn)行模式替換。

以下是patsubst函數(shù)的使用示例:

# 將src目錄下的所有.c文件替換為.o文件
OBJS = $(patsubst src/%.c,obj/%.o,$(wildcard src/*.c))
# 將所有的.c文件替換為.o文件
OBJS = $(patsubst %.c,%.o,$(wildcard *.c))

wildcard函數(shù)也是GNU make中的一個內(nèi)置函數(shù),用于查找文件。它的語法如下:

$(wildcard pattern)

其中,pattern是要查找的文件模式。

wildcard函數(shù)會在當(dāng)前目錄下查找與pattern匹配的文件,并返回匹配到的文件列表。它可以用于獲取指定目錄下的文件列表,或者根據(jù)文件模式來進(jìn)行操作。

以下是wildcard函數(shù)的使用示例:

# 獲取當(dāng)前目錄下所有的.c文件
SRCS = $(wildcard *.c)
# 獲取src目錄下的所有的.c文件
SRCS = $(wildcard src/*.c)

patsubst函數(shù)和wildcard函數(shù)常常一起使用,可以方便地進(jìn)行文件名、路徑名的模式替換和查找操作。

0