-# Hacky makefile to compile everything and run the tests in some kind of sane order.
-# V=--verbose for verbose tests.
+# Hacky makefile to compile everything and run the tests in some kind
+# of sane order.
+
+# Main targets:
+#
+# check: run tests on all ccan modules (use 'make check V=--verbose' for more)
+# Includes building libccan.a.
+# libccan.a: A library with all the ccan modules in it.
+# tools: build useful tools in tools/ dir.
+# Especially tools/ccanlint/ccanlint and tools/namespacize.
+# distclean: destroy everything back to pristine state
+
+# Anything with an _info.c file is a module.
+ALL=$(patsubst ccan/%/_info.c, %, $(wildcard ccan/*/_info.c))
+ALL_DEPENDS=$(patsubst %, ccan/%/.depends, $(ALL))
+# Not all modules have tests.
+ALL_TESTS=$(patsubst ccan/%/test/, %, $(wildcard ccan/*/test/))