add filter.mk and filter-out.mk
diff --git a/test/filter-out.mk b/test/filter-out.mk
new file mode 100644
index 0000000..c48f309
--- /dev/null
+++ b/test/filter-out.mk
@@ -0,0 +1,7 @@
+# TODO
+objects=main1.o foo.o main2.o bar.o
+mains=main1.o main2.o
+
+# expect a list which contains all the object files not in `mains'
+test:
+	echo $(filter-out $(mains),$(objects))
diff --git a/test/filter.mk b/test/filter.mk
new file mode 100644
index 0000000..a3820f9
--- /dev/null
+++ b/test/filter.mk
@@ -0,0 +1,5 @@
+# TODO
+sources := foo.c bar.c baz.s ugh.h
+
+test:
+	echo cc $(filter %.c %.s,$(sources)) -o foo