patsubst 是 Makefile 中的一种内置函数,主要用于查找并替换文本中的单词。它的基本语法如下:
$(patsubst 原模式, 目标模式, 文件列表)
其中,“原模式”是你想要查找的模式,“目标模式”是你想要替换成的模式,“文件列表”是需要处理的文本列表 。
举个例子,假设你有一个文件列表 a.c b.c,你想将文件名中的 .c 替换为 .o,你可以这样使用 patsubst:
$(patsubst %.c,%.o,a.c b.c)
这将返回一个新的文件列表 a.o b.o 。
patsubst 的核心功能是查找并替换文本中的单词。这里的“单词”是指由空格、Tab、回车或换行符分隔的文本片段。函数的工作方式是,它会检查每个单词是否与给定的匹配。这个模式可以是一个具体的文本,也可以包含通配符“%”来匹配任意长度的字符串。当一个单词与匹配时,它将被替换。这个替换文本可以是一个固定的字符串,也可以包含通配符“%”。如果中的“%”与中的“%”匹配,那么它将被替换为中的“%”所匹配的文本 #4。
总的来说,patsubst 是一个非常强大的文本处理工具,它允许用户按照特定的模式查找和替换文本,这在处理文件名和路径时非常有用 。