+scores: $(SCOREDIR)/SUMMARY
+
+$(SCOREDIR)/SUMMARY: $(MODS:%=$(SCOREDIR)/%.score)
+ git describe --always > $@
+ uname -a >> $@
+ $(CC) -v >> $@
+ cat $^ | grep 'Total score:' >> $@
+
+$(SCOREDIR)/%.score: ccan/%/_info tools/ccanlint/ccanlint $(OBJFILES)
+ mkdir -p `dirname $@`
+ $(CCANLINT) -v -s ccan/$* > $@ || true
+
+$(ALL_DEPENDS): %/.depends: %/_info tools/ccan_depends
+ tools/ccan_depends $* > $@ || ( rm -f $@; exit 1 )
+
+# Actual dependencies are created in inter-depends
+check-%: tools/ccanlint/ccanlint
+ $(CCANLINT) ccan/$*
+
+fastcheck-%: tools/ccanlint/ccanlint
+ $(CCANLINT_FAST) ccan/$*
+
+# Doesn't test dependencies, doesn't print verbose fail results.
+summary-check-%: tools/ccanlint/ccanlint $(OBJFILES)
+ $(CCANLINT) -s ccan/$*
+
+summary-fastcheck-%: tools/ccanlint/ccanlint $(OBJFILES)
+ $(CCANLINT_FAST) -s ccan/$*