notmuch/test/Makefile.local
Jani Nikula 0f35ddcdfc test: use LDFLAGS in test/Makefile.local
Apparently the test binaries are built with minimal LDFLAGS, only
adding dependency specific LDFLAGS as needed. However because some of
the test binaries incorporate notmuch object files, it is necessary to
use the same link flags as notmuch. For example user provided
CFLAGS/CXXFLAGS/LDFLAGS with -fsanitize=undefined fails to build the
test binaries if the flags differ.
2014-10-31 17:51:22 +01:00

66 lines
1.8 KiB
Makefile

# -*- makefile -*-
dir := test
# 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 $@ $(LDFLAGS)
$(dir)/hex-xcode: $(dir)/hex-xcode.o command-line-arguments.o util/libutil.a
$(call quiet,CC) $^ -o $@ $(LDFLAGS) $(TALLOC_LDFLAGS)
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) $^ -o $@ $(LDFLAGS) $(CONFIGURE_LDFLAGS)
$(dir)/smtp-dummy: $(smtp_dummy_modules)
$(call quiet,CC) $^ -o $@ $(LDFLAGS)
$(dir)/symbol-test: $(dir)/symbol-test.o lib/$(LINKER_NAME)
$(call quiet,CXX) $^ -o $@ $(LDFLAGS) -Llib -lnotmuch $(XAPIAN_LDFLAGS)
$(dir)/parse-time: $(dir)/parse-time.o parse-time-string/parse-time-string.o
$(call quiet,CC) $^ -o $@ $(LDFLAGS)
$(dir)/make-db-version: $(dir)/make-db-version.o
$(call quiet,CXX) $^ -o $@ $(LDFLAGS) $(XAPIAN_LDFLAGS)
.PHONY: test check
test_main_srcs=$(dir)/arg-test.c \
$(dir)/hex-xcode.c \
$(dir)/random-corpus.c \
$(dir)/parse-time.c \
$(dir)/smtp-dummy.c \
$(dir)/symbol-test.cc \
$(dir)/make-db-version.cc \
test_srcs=$(test_main_srcs) $(dir)/database-test.c
TEST_BINARIES := $(test_main_srcs:.c=)
TEST_BINARIES := $(TEST_BINARIES:.cc=)
test-binaries: $(TEST_BINARIES)
test: all test-binaries
@${test_src_dir}/notmuch-test $(OPTIONS)
check: test
SRCS := $(SRCS) $(test_srcs)
CLEAN += $(TEST_BINARIES) $(addsuffix .o,$(TEST_BINARIES)) \
$(dir)/database-test.o \
$(dir)/corpus.mail $(dir)/test-results $(dir)/tmp.*