阅读量:7
patsubst和wildcard是Makefile中常用的两个函数,下面是它们的使用小结:
- patsubst函数:用于替换模式匹配字符串。
语法:$(patsubst pattern,replacement,text)
- pattern:要匹配的模式,可以包含“%”通配符来表示任意字符。
- replacement:要替换的字符串,可以引用通配符的值。
- text:要进行模式匹配和替换的字符串。
示例:
files := src/main.c src/utils.c src/test.c objects := $(patsubst src/%.c,obj/%.o,$(files)) # 上述代码中,将src目录下的.c文件替换为obj目录下的.o文件 # 结果为:objects = obj/main.o obj/utils.o obj/test.o
- wildcard函数:用于获取满足通配符模式的文件列表。
语法:$(wildcard pattern)
- pattern:要匹配的通配符模式。
示例:
files := $(wildcard src/*.c) # 上述代码中,获取src目录下所有的.c文件列表 # 结果为:files = src/main.c src/utils.c src/test.c
总结:patsubst和wildcard函数是Makefile中常用的字符串处理函数。patsubst函数用于替换模式匹配字符串,可以将指定模式的字符串替换为指定的字符串;wildcard函数用于获取满足通配符模式的文件列表。在Makefile中,这两个函数可以帮助我们简化文件路径的处理和文件列表的获取。