-# 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.
+# tools: build useful tools in tools/ dir.
+#        Especially tools/ccanlint/ccanlint and tools/namespacize.
+# distclean: destroy everything back to pristine state
 
 # This can be overridden on cmdline to generate pages elsewhere.
 WEBDIR=~/www/html/ccan/
 $(ALL_DIRS):
        @touch $@
 
-$(WEBDIR)/ccan.tar.bz2:
-       tar cvfj $@ `bzr ls --versioned --kind=file ccan`
+$(WEBDIR)/ccan.tar.bz2: config.h Makefile Makefile-ccan $(shell bzr ls --versioned --kind=file ccan) $(shell bzr ls --versioned --kind=file tools)
+       tar cvfj $@ $^
 
 $(ALL_PAGES): tools/doc_extract web/staticmoduleinfo.php
 
        @echo Testing $*...
        @if tools/run_tests $(V) ccan/$* | grep ^'not ok'; then exit 1; else exit 0; fi
 
-ccanlint: tools/ccanlint/ccanlint
-
 clean: tools-clean
        $(RM) `find . -name '*.o'` `find . -name '.depends'` `find . -name '*.a'`  `find . -name _info`
        $(RM) inter-depends lib-depends test-depends
 
 </p>
 
 <p>
-Or you can just download the <a href="ccan.tar.bz2">tarball of everything (<?=$tarballsize?>K)</a>.
+Or you can just download the <a href="ccan.tar.bz2">tarball of everything including CCAN tools (<?=$tarballsize?>K)</a>.
 </p>
 
 <table align="center" width="80%" border="0" cellpadding="3" cellspacing="1">
 
 by uploading here; .tar.gz, .zip or even single C files.
 </p>
 
-<p>
-If it has a valid _info.c file and a testsuite, it'll go into the
+<p>If it has a valid _info.c file and a testsuite (see <a href="http://ccan.ozlabs.org/Wiki/ModuleGuide">the module creation guide</a>), it'll go into the
 main repository.  Otherwise, it'll go into our "junkcode" area where
 people can browse and download it.
 </p>