]> git.notmuchmail.org Git - notmuch/blobdiff - test/Makefile.local
test: conditionally test help system depending on configured support
[notmuch] / test / Makefile.local
index 1cb2402761a46acbd35557a78888b89c995f13bf..987441f04f1d689758e6825272d8b9c9210a2841 100644 (file)
@@ -2,6 +2,72 @@
 
 dir := test
 
-.PHONY: test
-test:  all
-       @${dir}/notmuch-test $(OPTIONS)
+# save against changes in $(dir)
+test_src_dir := $(dir)
+extra_cflags += -I$(srcdir)
+
+smtp_dummy_srcs =              \
+       $(notmuch_compat_srcs)  \
+       $(dir)/smtp-dummy.c
+
+smtp_dummy_modules = $(smtp_dummy_srcs:.c=.o)
+
+$(dir)/arg-test: $(dir)/arg-test.o command-line-arguments.o util/libutil.a
+       $(call quiet,CC) $^ -o $@
+
+$(dir)/hex-xcode: $(dir)/hex-xcode.o command-line-arguments.o util/libutil.a
+       $(call quiet,CC) $^ -o $@ -ltalloc
+
+random_corpus_deps =  $(dir)/random-corpus.o  $(dir)/database-test.o \
+                       notmuch-config.o command-line-arguments.o \
+                       lib/libnotmuch.a util/libutil.a \
+                       parse-time-string/libparse-time-string.a
+
+$(dir)/random-corpus: $(random_corpus_deps)
+       $(call quiet,CXX) $(CFLAGS_FINAL) $^ -o $@ $(CONFIGURE_LDFLAGS)
+
+$(dir)/smtp-dummy: $(smtp_dummy_modules)
+       $(call quiet,CC) $^ -o $@
+
+$(dir)/symbol-test: $(dir)/symbol-test.o lib/$(LINKER_NAME)
+       $(call quiet,CXX) $^ -o $@ -Llib -lnotmuch $(XAPIAN_LDFLAGS)
+
+$(dir)/parse-time: $(dir)/parse-time.o parse-time-string/parse-time-string.o
+       $(call quiet,CC) $^ -o $@
+
+$(dir)/have-compact: Makefile.config
+ifeq ($(HAVE_XAPIAN_COMPACT),1)
+       ln -sf /bin/true $@
+else
+       ln -sf /bin/false $@
+endif
+
+$(dir)/have-man: Makefile.config
+ifeq ($(HAVE_SPHINX)$(HAVE_RST2MAN),00)
+       ln -sf /bin/false $@
+else
+       ln -sf /bin/true $@
+endif
+
+.PHONY: test check
+
+TEST_BINARIES=$(dir)/arg-test \
+             $(dir)/have-compact \
+             $(dir)/have-man \
+             $(dir)/hex-xcode \
+             $(dir)/random-corpus \
+             $(dir)/parse-time \
+             $(dir)/smtp-dummy \
+             $(dir)/symbol-test
+
+test-binaries: $(TEST_BINARIES)
+
+test:  all test-binaries
+       @${test_src_dir}/notmuch-test $(OPTIONS)
+
+check: test
+
+SRCS := $(SRCS) $(smtp_dummy_srcs)
+CLEAN += $(TEST_BINARIES) $(addsuffix .o,$(TEST_BINARIES)) \
+        $(dir)/database-test.o \
+        $(dir)/corpus.mail $(dir)/test-results $(dir)/tmp.*