X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fccanlint%2FMakefile;h=f079f8da438ce5a3475fedf26f3eedeae5a18365;hp=60a35c121050a9e08785f4543775e67c5e487506;hb=04f453bbedd1eca3e5ab93290304d8193ffdd87f;hpb=c3ae64a7104fcfa5191b001ce0b165ecec1bbf36 diff --git a/tools/ccanlint/Makefile b/tools/ccanlint/Makefile index 60a35c12..f079f8da 100644 --- a/tools/ccanlint/Makefile +++ b/tools/ccanlint/Makefile @@ -1,32 +1,48 @@ -OBJS := tools/ccanlint/no_info.o \ - tools/ccanlint/has_main_header.o \ - tools/ccanlint/has_tests.o \ - tools/ccanlint/trailing_whitespace.o \ - tools/ccanlint/idempotent.o \ +TEST_CFILES := $(wildcard tools/ccanlint/tests/*.c) +TEST_OBJS := $(TEST_CFILES:.c=.o) -FUTURE:=tools/ccanlint/if_have_not_ifdef.o \ - tools/ccanlint/needs_depends.o \ - tools/ccanlint/has_info_documentation.o \ - tools/ccanlint/has_header_documentation.o \ - tools/ccanlint/has_tests.o \ - tools/ccanlint/builds_ok.o \ - tools/ccanlint/builds_ok_all_have_variants.o \ - tools/ccanlint/run_tests.o \ - tools/ccanlint/test_coverage.o \ +CORE_OBJS := \ + ccan/asort/asort.o \ + ccan/dgraph/dgraph.o \ + ccan/foreach/foreach.o \ + ccan/grab_file/grab_file.o \ + ccan/hash/hash.o \ + ccan/htable/htable.o \ + ccan/lbalance/lbalance.o \ + ccan/noerr/noerr.o \ + ccan/opt/helpers.o \ + ccan/opt/opt.o \ + ccan/opt/parse.o \ + ccan/opt/usage.o \ + ccan/read_write_all/read_write_all.o \ + ccan/str/str.o ccan/str/debug.o \ + ccan/str_talloc/str_talloc.o \ + ccan/strmap/strmap.o \ + ccan/talloc/talloc.o \ + ccan/talloc_link/talloc_link.o \ + ccan/time/time.o \ + tools/ccanlint/async.o \ + tools/ccanlint/ccanlint.o \ + tools/ccanlint/file_analysis.o \ + tools/ccanlint/licenses.o \ + tools/compile.o \ + tools/depends.o \ + tools/doc_extract-core.o \ + tools/tools.o -tools/ccanlint/generated-init-tests: $(OBJS) - cat $(OBJS:.o=.c) | sed -n 's/^struct ccanlint \([A-Za-z0-9_]*\) = {/{ extern struct ccanlint \1; list_add(\&tests, \&\1.list); }/p' >$@ +OBJS := $(CORE_OBJS) $(TEST_OBJS) -tools/ccanlint/ccanlint.o: tools/ccanlint/generated-init-tests +# FIXME: write a trivial C program to do this +tools/ccanlint/generated-testlist: $(TEST_CFILES) + cat $^ | grep ^REGISTER_TEST > $@ -tools/ccanlint/ccanlint: \ - $(OBJS) \ - tools/ccanlint/ccanlint.o \ - tools/ccanlint/get_file_lines.o \ - tools/ccanlint/file_analysis.o \ - ccan/talloc/talloc.o ccan/noerr/noerr.o +$(TEST_OBJS): tools/ccanlint/generated-testlist + +# Otherwise, ccanlint.c et al. may fail to build +$(CORE_OBJS): tools/ccanlint/generated-testlist config.h + +tools/ccanlint/ccanlint: $(OBJS) ccanlint-clean: - $(RM) tools/ccanlint/generated-init-tests + $(RM) tools/ccanlint/generated-testlist $(RM) tools/ccanlint/ccanlint -