mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-24 20:08:10 +01:00
c39f6361d0
Apparently some systems (MacOS?) have a system library called libutil and the name conflict causes problems. Since this library is quite notmuch specific, rename it to something less generic.
89 lines
3.1 KiB
Makefile
89 lines
3.1 KiB
Makefile
# -*- makefile -*-
|
|
|
|
ifeq ($(PLATFORM),MACOSX)
|
|
LIBRARY_SUFFIX = dylib
|
|
# On OS X, library version numbers go before suffix.
|
|
LINKER_NAME = libnotmuch.$(LIBRARY_SUFFIX)
|
|
SONAME = libnotmuch.$(LIBNOTMUCH_VERSION_MAJOR).$(LIBRARY_SUFFIX)
|
|
LIBNAME = libnotmuch.$(LIBNOTMUCH_VERSION_MAJOR).$(LIBNOTMUCH_VERSION_MINOR).$(LIBNOTMUCH_VERSION_RELEASE).$(LIBRARY_SUFFIX)
|
|
LIBRARY_LINK_FLAG = -dynamiclib -install_name $(libdir)/$(SONAME) -compatibility_version $(LIBNOTMUCH_VERSION_MAJOR).$(LIBNOTMUCH_VERSION_MINOR) -current_version $(LIBNOTMUCH_VERSION_MAJOR).$(LIBNOTMUCH_VERSION_MINOR).$(LIBNOTMUCH_VERSION_RELEASE)
|
|
else
|
|
LIBRARY_SUFFIX = so
|
|
LINKER_NAME = libnotmuch.$(LIBRARY_SUFFIX)
|
|
SONAME = $(LINKER_NAME).$(LIBNOTMUCH_VERSION_MAJOR)
|
|
LIBNAME = $(SONAME).$(LIBNOTMUCH_VERSION_MINOR).$(LIBNOTMUCH_VERSION_RELEASE)
|
|
LIBRARY_LINK_FLAG = -shared -Wl,--version-script=notmuch.sym,-soname=$(SONAME) $(NO_UNDEFINED_LDFLAGS)
|
|
ifeq ($(PLATFORM),OPENBSD)
|
|
LIBRARY_LINK_FLAG += -lc
|
|
endif
|
|
ifeq ($(LIBDIR_IN_LDCONFIG),1)
|
|
ifeq ($(DESTDIR),)
|
|
LIBRARY_INSTALL_POST_COMMAND=ldconfig
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
dir := lib
|
|
extra_cflags += -I$(srcdir)/$(dir) -fPIC
|
|
|
|
# The (often-reused) $dir works fine within targets/prerequisites,
|
|
# but cannot be used reliably within commands, so copy its value to a
|
|
# variable that is not reused.
|
|
lib := $(dir)
|
|
|
|
libnotmuch_c_srcs = \
|
|
$(notmuch_compat_srcs) \
|
|
$(dir)/filenames.c \
|
|
$(dir)/string-list.c \
|
|
$(dir)/message-file.c \
|
|
$(dir)/messages.c \
|
|
$(dir)/sha1.c \
|
|
$(dir)/built-with.c \
|
|
$(dir)/string-map.c \
|
|
$(dir)/tags.c
|
|
|
|
libnotmuch_cxx_srcs = \
|
|
$(dir)/database.cc \
|
|
$(dir)/parse-time-vrp.cc \
|
|
$(dir)/directory.cc \
|
|
$(dir)/index.cc \
|
|
$(dir)/message.cc \
|
|
$(dir)/message-property.cc \
|
|
$(dir)/query.cc \
|
|
$(dir)/query-fp.cc \
|
|
$(dir)/config.cc \
|
|
$(dir)/regexp-fields.cc \
|
|
$(dir)/thread.cc
|
|
|
|
libnotmuch_modules := $(libnotmuch_c_srcs:.c=.o) $(libnotmuch_cxx_srcs:.cc=.o)
|
|
|
|
$(dir)/libnotmuch.a: $(libnotmuch_modules)
|
|
$(call quiet,AR) rcs $@ $^
|
|
|
|
$(dir)/$(LIBNAME): $(libnotmuch_modules) notmuch.sym util/libnotmuch_util.a parse-time-string/libparse-time-string.a
|
|
$(call quiet,CXX $(CXXFLAGS)) $(libnotmuch_modules) $(FINAL_LIBNOTMUCH_LDFLAGS) $(LIBRARY_LINK_FLAG) -o $@ util/libnotmuch_util.a parse-time-string/libparse-time-string.a
|
|
|
|
notmuch.sym: $(srcdir)/$(dir)/notmuch.h $(libnotmuch_modules)
|
|
sh $(srcdir)/$(lib)/gen-version-script.sh $< $(libnotmuch_modules) > $@
|
|
|
|
$(dir)/$(SONAME): $(dir)/$(LIBNAME)
|
|
ln -sf $(LIBNAME) $@
|
|
|
|
$(dir)/$(LINKER_NAME): $(dir)/$(SONAME)
|
|
ln -sf $(LIBNAME) $@
|
|
|
|
install: install-$(dir)
|
|
|
|
install-$(dir): $(dir)/$(LIBNAME)
|
|
mkdir -p "$(DESTDIR)$(libdir)/"
|
|
install -m0644 "$(lib)/$(LIBNAME)" "$(DESTDIR)$(libdir)/"
|
|
ln -sf $(LIBNAME) "$(DESTDIR)$(libdir)/$(SONAME)"
|
|
ln -sf $(LIBNAME) "$(DESTDIR)$(libdir)/$(LINKER_NAME)"
|
|
mkdir -p "$(DESTDIR)$(includedir)"
|
|
install -m0644 "$(srcdir)/$(lib)/notmuch.h" "$(DESTDIR)$(includedir)/"
|
|
$(LIBRARY_INSTALL_POST_COMMAND)
|
|
|
|
SRCS := $(SRCS) $(libnotmuch_c_srcs) $(libnotmuch_cxx_srcs)
|
|
CLEAN += $(libnotmuch_modules) $(dir)/$(SONAME) $(dir)/$(LINKER_NAME)
|
|
CLEAN += $(dir)/$(LIBNAME) $(dir)/libnotmuch.a notmuch.sym
|
|
CLEAN += $(dir)/notmuch.h.gch
|