]> git.notmuchmail.org Git - notmuch/blobdiff - lib/Makefile.local
lib: Rearrange the exclude code in query.cc
[notmuch] / lib / Makefile.local
index ea20b2b364c9359f826eedf1811fef3866ed7372..54c4dea4560b422f39a47cc5304b6de0b1a0484d 100644 (file)
@@ -30,7 +30,7 @@ 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)
+LIBRARY_LINK_FLAG = -shared -Wl,--version-script=notmuch.sym,-soname=$(SONAME) -Wl,--no-undefined
 ifeq ($(LIBDIR_IN_LDCONFIG),1)
 ifeq ($(DESTDIR),)
 LIBRARY_INSTALL_POST_COMMAND=ldconfig
@@ -41,6 +41,11 @@ 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      \
@@ -49,8 +54,7 @@ libnotmuch_c_srcs =           \
        $(dir)/message-file.c   \
        $(dir)/messages.c       \
        $(dir)/sha1.c           \
-       $(dir)/tags.c           \
-       $(dir)/xutil.c
+       $(dir)/tags.c
 
 libnotmuch_cxx_srcs =          \
        $(dir)/database.cc      \
@@ -66,10 +70,10 @@ $(dir)/libnotmuch.a: $(libnotmuch_modules)
        $(call quiet,AR) rcs $@ $^
 
 $(dir)/$(LIBNAME): $(libnotmuch_modules) notmuch.sym
-       $(call quiet,CXX $(CXXFLAGS)) $(libnotmuch_modules) $(FINAL_LIBNOTMUCH_LDFLAGS) $(LIBRARY_LINK_FLAG) -o $@
+       $(call quiet,CXX $(CXXFLAGS)) $(libnotmuch_modules) $(FINAL_LIBNOTMUCH_LDFLAGS) $(LIBRARY_LINK_FLAG) -o $@ util/libutil.a
 
-notmuch.sym: lib/notmuch.h $(libnotmuch_modules)
-       sh lib/gen-version-script.sh $< $(libnotmuch_modules) > $@
+notmuch.sym: $(srcdir)/$(dir)/notmuch.h $(libnotmuch_modules)
+       sh $(srcdir)/$(lib)/gen-version-script.sh $< $(libnotmuch_modules) > $@
 
 $(dir)/$(SONAME): $(dir)/$(LIBNAME)
        ln -sf $(LIBNAME) $@
@@ -79,10 +83,6 @@ $(dir)/$(LINKER_NAME): $(dir)/$(SONAME)
 
 install: install-$(dir)
 
-# 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)
 install-$(dir): $(dir)/$(LIBNAME)
        mkdir -p "$(DESTDIR)$(libdir)/"
        install -m0644 "$(lib)/$(LIBNAME)" "$(DESTDIR)$(libdir)/"