溫馨提示×

makefile中的patsubst怎么使用

小億
131
2023-09-12 17:00:49
欄目: 編程語言

在Makefile中,patsubst函數(shù)的作用是將一組字符串中的模式進行替換。

patsubst函數(shù)的語法如下:

$(patsubst pattern,replacement,text)

其中,pattern是要查找的模式,replacement是要進行替換的字符串,text是要進行替換的一組字符串。

下面是一個示例,說明如何使用patsubst函數(shù):

# 將字符串列表中的.c后綴替換為.o后綴
files := foo.c bar.c baz.c
objs := $(patsubst %.c, %.o, $(files))
all: $(objs)
gcc $^ -o myprogram
%.o: %.c
gcc -c $< -o $@

在上面的示例中,我們首先定義了一個字符串列表files,其中包含了三個文件名,然后使用patsubst函數(shù)將這些文件名中的.c后綴替換為.o后綴,并賦值給變量objs。接著,在all規(guī)則中,我們使用$(objs)作為依賴項來編譯生成最終的可執(zhí)行程序myprogram。

注意,在patsubst函數(shù)中,使用%作為通配符表示任意長度的字符串。在替換過程中,%.c表示匹配以.c結(jié)尾的字符串,%替換為匹配到的字符串,并添加.o后綴。

希望這個示例能夠幫助你理解如何使用patsubst函數(shù)。如果還有疑問,請隨時追問。

0