-dir=lib
-extra_cflags += -I$(dir)
+dir := lib
+extra_cflags += -I$(dir) -fPIC
libnotmuch_c_srcs = \
$(dir)/libsha1.c \
libnotmuch_cxx_srcs = \
$(dir)/database.cc \
+ $(dir)/directory.cc \
$(dir)/index.cc \
$(dir)/message.cc \
$(dir)/query.cc \
$(dir)/thread.cc
libnotmuch_modules = $(libnotmuch_c_srcs:.c=.o) $(libnotmuch_cxx_srcs:.cc=.o)
-$(dir)/notmuch.a: $(libnotmuch_modules)
- $(call quiet,AR) rcs $@ $^
+
+$(dir)/$(SONAME) : $(libnotmuch_modules)
+ $(call quiet,CXX,$(LDFLAGS)) $^ $(FINAL_LDFLAGS) -shared -Wl,-soname=$(SONAME) -o $@
+
+$(dir)/libnotmuch.so: $(dir)/$(SONAME)
+ ln -fs $(SONAME) $@
SRCS := $(SRCS) $(libnotmuch_c_srcs) $(libnotmuch_cxx_srcs)
-CLEAN := $(CLEAN) $(libnotmuch_modules) $(dir)/notmuch.a
+CLEAN := $(CLEAN) $(libnotmuch_modules) $(dir)/$(SONAME) $(dir)/libnotmuch.so *.so