notmuch/test/Makefile.local
David Bremner b21f0f6802 test: don't use $(dir) in recipes.
According the semantics of make, the expansion of $(dir) in recipes
uses dynamic scope, i.e. the value at the time the recipe is run. This
means if test/Makefile.local is not the last sub-makefile included,
all heck breaks loose.
2014-03-09 10:02:57 -03:00

57 lines
1.5 KiB
Makefile

# -*- makefile -*-
dir := test
# save against changes in $(dir)
test_src_dir := $(dir)
extra_cflags += -I.
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) -I. $^ -o $@
$(dir)/hex-xcode: $(dir)/hex-xcode.o command-line-arguments.o util/libutil.a
$(call quiet,CC) -I. $^ -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 $@
.PHONY: test check
TEST_BINARIES=$(dir)/arg-test \
$(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.*