filter:代表中目标串中找出符合匹配规则的。
示例: sources := foo.c bar.c baz.s ugh.h foo: $(sources) cc $(filter %.c %.s,$(sources)) -o foo 使用“$(filter %.c %.s,$(sources))”的返回值给 cc 来编译生成目标“foo”,函数返回 值为“foo.c bar.c baz.s”
filter-out:代表从目标串中过滤掉符合匹配规则的。
示例: objects=main1.o foo.o main2.o bar.o mains=main1.o main2.o $(filter-out $(mains),$(objects)) 实现了去除变量“objects”中“mains”定义的字串(文件名)功能。它的返回值 为“foo.o bar.o”。