在 Makefile 中,filter
函数用于从一个单词列表中筛选出符合指定条件的单词。它的基本语法如下:
$(filter pattern, text)
其中,pattern
是用于匹配的模式,可以包含通配符 %
;text
是要进行筛选的单词列表或变量。
举例说明,假设有一个变量 SRC_FILES
包含了多个源文件名,我们想筛选出所有以 .c
结尾的文件:
SRC_FILES := file1.c file2.cpp file3.c file4.h
C_FILES := $(filter %.c, $(SRC_FILES))
在这个例子中,C_FILES
的值将会是 file1.c file3.c
,因为这些文件名符合以 .c
结尾的模式。
此外,filter
函数也可以用于更复杂的模式匹配,比如使用多个通配符来筛选不同类型的文件或单词。
总之,filter
函数在 Makefile 中通常用于根据特定的模式从单词列表中选择符合条件的单词,非常有助于在构建过程中对文件名或其他类型的字符串进行筛选和处理。