The filter function can be used to separate out different types of strings (such as file names) in a variable. For example: sources := foo.c bar.c baz.s ugh.hfoo:$(sources)cc$(filter%.c %.s,$(sources))-o foo says that foo depends of foo.c、bar.c、baz.s and ugh.h but on...