mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 17:34:54 +01:00
0f35ddcdfc
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.
66 lines
1.8 KiB
Makefile
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.*
|