1# -*- makefile-gmake -*- 2 3dir := test 4 5# save against changes in $(dir) 6test_src_dir := $(dir) 7extra_cflags += -I$(srcdir) 8 9smtp_dummy_srcs = \ 10 $(notmuch_compat_srcs) \ 11 $(dir)/smtp-dummy.c 12 13smtp_dummy_modules = $(smtp_dummy_srcs:.c=.o) 14 15$(dir)/arg-test: $(dir)/arg-test.o command-line-arguments.o util/libnotmuch_util.a 16 $(call quiet,CC) $^ -o $@ $(LDFLAGS) 17 18$(dir)/message-id-parse: $(dir)/message-id-parse.o lib/libnotmuch.a util/libnotmuch_util.a 19 $(call quiet,CC) $^ -o $@ $(LDFLAGS) $(TALLOC_LDFLAGS) 20 21$(dir)/hex-xcode: $(dir)/hex-xcode.o command-line-arguments.o util/libnotmuch_util.a 22 $(call quiet,CC) $^ -o $@ $(LDFLAGS) $(TALLOC_LDFLAGS) 23 24random_corpus_deps = $(dir)/random-corpus.o $(dir)/database-test.o \ 25 notmuch-config.o status.o command-line-arguments.o \ 26 lib/libnotmuch.a util/libnotmuch_util.a \ 27 parse-time-string/libparse-time-string.a 28 29$(dir)/random-corpus: $(random_corpus_deps) 30 $(call quiet,CXX) $^ -o $@ $(LDFLAGS) $(CONFIGURE_LDFLAGS) 31 32$(dir)/smtp-dummy: $(smtp_dummy_modules) 33 $(call quiet,CC) $^ -o $@ $(LDFLAGS) 34 35$(dir)/symbol-test: $(dir)/symbol-test.o lib/$(LINKER_NAME) 36 $(call quiet,CXX) $^ -o $@ $(LDFLAGS) -Llib -lnotmuch $(XAPIAN_LDFLAGS) 37 38$(dir)/parse-time: $(dir)/parse-time.o parse-time-string/parse-time-string.o 39 $(call quiet,CC) $^ -o $@ $(LDFLAGS) 40 41$(dir)/make-db-version: $(dir)/make-db-version.o 42 $(call quiet,CXX) $^ -o $@ $(LDFLAGS) $(XAPIAN_LDFLAGS) 43 44$(dir)/ghost-report: $(dir)/ghost-report.o 45 $(call quiet,CXX) $^ -o $@ $(LDFLAGS) $(XAPIAN_LDFLAGS) 46 47.PHONY: test check 48 49test_main_srcs=$(dir)/arg-test.c \ 50 $(dir)/hex-xcode.c \ 51 $(dir)/random-corpus.c \ 52 $(dir)/parse-time.c \ 53 $(dir)/smtp-dummy.c \ 54 $(dir)/symbol-test.cc \ 55 $(dir)/make-db-version.cc \ 56 $(dir)/ghost-report.cc \ 57 $(dir)/message-id-parse.c 58 59test_srcs=$(test_main_srcs) $(dir)/database-test.c 60 61TEST_BINARIES := $(test_main_srcs:.c=) 62TEST_BINARIES := $(TEST_BINARIES:.cc=) 63 64test-binaries: $(TEST_BINARIES) 65 66test: all test-binaries 67ifeq ($V,) 68 @echo 'Use "$(MAKE) V=1" to see the details for passing and known broken tests.' 69 @env NOTMUCH_TEST_QUIET=1 $(NOTMUCH_SRCDIR)/$(test_src_dir)/notmuch-test $(OPTIONS) 70else 71# The user has explicitly enabled quiet execution. 72ifeq ($V,0) 73 @env NOTMUCH_TEST_QUIET=1 $(NOTMUCH_SRCDIR)/$(test_src_dir)/notmuch-test $(OPTIONS) 74else 75 @$(NOTMUCH_SRCDIR)/$(test_src_dir)/notmuch-test $(OPTIONS) 76endif 77endif 78 79check: test 80 81SRCS := $(SRCS) $(test_srcs) 82CLEAN += $(TEST_BINARIES) $(addsuffix .o,$(TEST_BINARIES)) \ 83 $(dir)/database-test.o \ 84 $(dir)/test-results $(dir)/tmp.* 85