-ALL=$(patsubst ccan/%/test, %, $(wildcard ccan/*/test))
-ALL_DIRS=$(patsubst %, ccan/%, $(ALL))
-ALL_DEPENDS=$(patsubst %, ccan/%/.depends, $(ALL))
-ALL_PAGES=$(patsubst ccan/%, $(WEBDIR)/info/%.html, $(ALL_DIRS))
-DIRECT_TARBALLS=$(patsubst ccan/%, $(WEBDIR)/tarballs/%.tar.bz2, $(ALL_DIRS))
-DEPEND_TARBALLS=$(patsubst ccan/%, $(WEBDIR)/tarballs/with-deps/%.tar.bz2, $(ALL_DIRS))
-WEB_SUBDIRS=$(WEBDIR)/tarballs $(WEBDIR)/junkcode $(WEBDIR)/tarballs/with-deps $(WEBDIR)/info
-JUNKDIRS=$(wildcard junkcode/*)
-JUNKPAGES=$(JUNKDIRS:%=$(WEBDIR)/%.html)
-JUNKBALLS=$(JUNKDIRS:%=$(WEBDIR)/%.tar.bz2)
+default: libccan.a
+
+ALL_DEPENDS=$(patsubst %, ccan/%/.depends, $(MODS))
+
+# By default, we skip modules with external deps.
+MODS_EXCLUDE:=jmap jset nfs ogg_to_pcm tal/talloc wwviaudio