-# Some don't have object files.
-test-ccan/%:: tools/run_tests
- @echo Testing $*...
- @if tools/run_tests $(V) ccan/$* | grep ^'not ok'; then exit 1; else exit 0; fi
+summary-fastcheck-antithread/%: tools/ccanlint/ccanlint $(OBJFILES)
+ $(CCANLINT_FAST) -s ccan/antithread/$*
+
+summary-check-tal/%: tools/ccanlint/ccanlint $(OBJFILES)
+ $(CCANLINT) -s ccan/tal/$*
+
+summary-fastcheck-tal/%: tools/ccanlint/ccanlint $(OBJFILES)
+ $(CCANLINT_FAST) -s ccan/tal/$*
+
+summary-check-str/%: tools/ccanlint/ccanlint $(OBJFILES)
+ $(CCANLINT) -s ccan/str/$*
+
+summary-fastcheck-str/%: tools/ccanlint/ccanlint $(OBJFILES)
+ $(CCANLINT_FAST) -s ccan/str/$*
+
+summary-check-crypto/%: tools/ccanlint/ccanlint $(OBJFILES)
+ $(CCANLINT) -s ccan/crypto/$*
+
+summary-fastcheck-crypto/%: tools/ccanlint/ccanlint $(OBJFILES)
+ $(CCANLINT_FAST) -s ccan/crypto/$*
+
+ccan/%/info: ccan/%/_info
+ $(CC) $(CCAN_CFLAGS) -o $@ -x c $<