]> git.ozlabs.org Git - ccan/blobdiff - Makefile
Makefile: list modules explicitly.
[ccan] / Makefile
index 570793c711aaf7634bf4215dd52eedc8f8420a01..c50894d7a79771d27919ceb12aa9e8c799e86802 100644 (file)
--- a/Makefile
+++ b/Makefile
 #        Especially tools/ccanlint/ccanlint and tools/namespacize.
 # distclean: destroy everything back to pristine state
 
-# Trying to build the whole repo is usually a lose; there will be some
-# dependencies you don't have.
-EXCLUDE=wwviaudio ogg_to_pcm jmap jset nfs
-
 # Where make scores puts the results
 SCOREDIR=scores/$(shell whoami)/$(shell uname -s)-$(shell uname -m)-$(CC)-$(shell git describe --always --dirty)
 
-ALL=$(filter-out $(EXCLUDE), $(REALLY_ALL))
-
-ALL_DEPENDS=$(patsubst %, ccan/%/.depends, $(REALLY_ALL))
-
-# Not all modules have tests.
-ALL_TESTS=$(patsubst ccan/%/test/, %, $(foreach dir, $(ALL), $(wildcard ccan/$(dir)/test/)))
-
 # Here's my rough logarithmic timeout graph for my laptop:
 #
 # 302                                                  -     
@@ -65,18 +54,20 @@ FASTTIMEOUT=750
 
 default: libccan.a
 
+ALL_DEPENDS=$(patsubst %, ccan/%/.depends, $(MODS_NORMAL) $(MODS_EXTERNAL))
+
 include Makefile-ccan
 
-fastcheck: $(ALL_TESTS:%=summary-fastcheck-%)
+fastcheck: $(MODS_NORMAL:%=summary-fastcheck-%)
 
-check: $(ALL_TESTS:%=summary-check-%)
+check: $(MODS_NORMAL:%=summary-check-%)
 
 distclean: clean
        rm -f $(ALL_DEPENDS)
 
 scores: $(SCOREDIR)/SUMMARY
 
-$(SCOREDIR)/SUMMARY: $(patsubst ccan/%/_info, $(SCOREDIR)/score-%, $(wildcard ccan/*/_info))
+$(SCOREDIR)/SUMMARY: $(MODS:%=$(SCOREDIR)/score-%)
        git describe --always > $@
        uname -a >> $@
        $(CC) -v >> $@
@@ -122,8 +113,14 @@ inter-depends: $(ALL_DEPENDS) Makefile
 test-depends: $(ALL_DEPENDS) Makefile
        for f in $(ALL_DEPENDS); do echo check-`basename \`dirname $$f\``: `sed -n 's,ccan/\(.*\),check-\1,p' < $$f`; done > $@
 
+TAGS: FORCE
+       find * -name '*.[ch]' | xargs etags
+
+FORCE:
+
+# Ensure we don't end up with empty file if configurator fails!
 config.h: tools/configurator/configurator Makefile Makefile-ccan
-       @tools/configurator/configurator $(CC) $(CCAN_CFLAGS) > config.h
+       tools/configurator/configurator $(CC) $(CCAN_CFLAGS) > $@.tmp && mv $@.tmp $@
 
 include tools/Makefile
 -include inter-depends