计算结果为匹配至少一种模式的项列表。
语法
$(filter filters,input)
$(filteri filters,input)
参数
input
要筛选的列表。
返回值
与 filters 中至少一种模式匹配的 input 中所有项的列表。
注解
filteri 是 filter 的不区分大小写版本。
从 Visual Studio 2022 开始,此宏函数在 NMAKE 版本 14.30 或更高版本中可用。
示例
$(filter He%,Hello Hey Hi) # Evaluates to "Hello Hey" - "Hi" doesn't match the filter
$(filter %y %i,Hello Hey Hi) # Evaluates to "Hey Hi" - items are kept if they match any filter, "Hello" is dropped as it doesn't match any
$(filter Not%Found,Hello Hey Hi) # Evaluates to "" - none of the items match any filters
$(filter he%,Hello Hey Hi) # Evaluates to "" - filter is case-sensitive
$(filteri he%,Hello Hey Hi) # Evaluates to "Hello Hey" - filteri is case-insensitive
# filteri is commonly used to filter a list of files by their extensions
CPP_SOURCES=$(filteri %.cpp %.cxx,$(SOURCES))
C_SOURCES=$(filteri %.c,$(SOURCES))