在Makefile中,patsubst命令用于替換模式。語法如下:
$(patsubst pattern,replacement,text)
其中,pattern表示要被替換的模式,replacement表示替換后的內容,text表示要進行替換的文本。
例如,假設我們有以下的Makefile代碼:
SOURCES := main.c utils.c helper.c
OBJECTS := $(patsubst %.c, %.o, $(SOURCES))
all: $(OBJECTS)
$(OBJECTS): %.o: %.c
gcc -c $< -o $@
在上面的代碼中,我們使用patsubst命令將SOURCES中的.c文件替換為.o文件,生成OBJECTS列表。這樣在all目標和$(OBJECTS)規則中都可以使用$(OBJECTS)來代替所有的.o文件。