在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文件。