X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=tools%2Fccanlint%2FMakefile;h=e40b59decf9e5e3f5d48f984364ebb76cc2d169b;hb=3460418c419dfcc84316ad65497b0a00950480b9;hp=87ff2d0edce161571b0e7956869e583a88ff75ab;hpb=15290c3feb9b61967311659a865fb3b5d05b1a49;p=ccan diff --git a/tools/ccanlint/Makefile b/tools/ccanlint/Makefile index 87ff2d0e..e40b59de 100644 --- a/tools/ccanlint/Makefile +++ b/tools/ccanlint/Makefile @@ -1,33 +1,27 @@ -OBJS := tools/ccanlint/has_info.o \ - tools/ccanlint/has_main_header.o \ - tools/ccanlint/has_tests.o \ - tools/ccanlint/trailing_whitespace.o \ - tools/ccanlint/idempotent.o \ - tools/ccanlint/has_info_documentation.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 \ - -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' >$@ - -tools/ccanlint/ccanlint.o: tools/ccanlint/generated-init-tests - -tools/ccanlint/ccanlint: \ - $(OBJS) \ - tools/ccanlint/ccanlint.o \ +TEST_CFILES := $(wildcard tools/ccanlint/compulsory_tests/*.c) \ + $(wildcard tools/ccanlint/tests/*.c) +TEST_OBJS := $(TEST_CFILES:.c=.o) + +CORE_OBJS := tools/ccanlint/ccanlint.o \ tools/ccanlint/file_analysis.o \ tools/doc_extract-core.o \ + tools/depends.o \ ccan/str_talloc/str_talloc.o ccan/grab_file/grab_file.o \ ccan/talloc/talloc.o ccan/noerr/noerr.o +OBJS := $(CORE_OBJS) $(TEST_OBJS) + +# FIXME: write a trivial C program to do this +tools/ccanlint/generated-init-tests: $(TEST_CFILES) + cat $(TEST_CFILES) | grep ^REGISTER_TEST > $@ + +$(TEST_OBJS): tools/ccanlint/generated-init-tests + +# Otherwise, ccanlint.c et al. may fail to build +$(CORE_OBJS): tools/ccanlint/generated-init-tests + +tools/ccanlint/ccanlint: $(OBJS) + ccanlint-clean: $(RM) tools/ccanlint/generated-init-tests $(RM) tools/ccanlint/ccanlint