1This patch links libmandoc dynamically instead of statically, this2causes the package size to be reduced by roughly 50%.34See also: https://inbox.vuxu.org/mandoc-tech/2L1YC2WD8JUE5.3QGU3CQ10EGCD@8pit.net/T/#u56diff --git a/Makefile b/Makefile7index 48c4741..252e11e 1006448--- a/Makefile9+++ b/Makefile10@@ -367,9 +367,13 @@ WWW_INCS = eqn.h.html \11 tbl_int.h.html \12 tbl_parse.h.html1314+LIBMANDOC = libmandoc.so15+MANDOCLIB = -L. -lmandoc16+17 # === USER CONFIGURATION ===============================================1819 include Makefile.local20+CFLAGS += -fPIC2122 # === DEPENDENCY HANDLING ==============================================2324@@ -392,7 +396,7 @@ distclean: clean25 rm -f Makefile.local config.h config.h.old config.log config.log.old2627 clean:28- rm -f libmandoc.a $(LIBMANDOC_OBJS) $(ALL_COBJS)29+ rm -f $(LIBMANDOC) $(LIBMANDOC_OBJS) $(ALL_COBJS)30 rm -f mandoc man $(MAIN_OBJS)31 rm -f man.cgi $(CGI_OBJS)32 rm -f mandocd catman catman.o $(MANDOCD_OBJS)33@@ -432,11 +436,11 @@ base-install: mandoc demandoc soelim34 $(INSTALL_MAN) makewhatis.8 \35 $(DESTDIR)$(MANDIR)/man8/$(BINM_MAKEWHATIS).83637-lib-install: libmandoc.a38+lib-install: $(LIBMANDOC)39 mkdir -p $(DESTDIR)$(LIBDIR)40 mkdir -p $(DESTDIR)$(INCLUDEDIR)41 mkdir -p $(DESTDIR)$(MANDIR)/man342- $(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR)43+ $(INSTALL_LIB) $(LIBMANDOC) $(DESTDIR)$(LIBDIR)44 $(INSTALL_LIB) eqn.h man.h mandoc.h mandoc_aux.h mandoc_parse.h \45 mdoc.h roff.h tbl.h $(DESTDIR)$(INCLUDEDIR)46 $(INSTALL_MAN) mandoc.3 mandoc_escape.3 mandoc_malloc.3 \47@@ -485,7 +489,7 @@ uninstall:48 rm -f $(DESTDIR)$(SBINDIR)/$(BINM_CATMAN)49 rm -f $(DESTDIR)$(MANDIR)/man8/mandocd.850 rm -f $(DESTDIR)$(MANDIR)/man8/$(BINM_CATMAN).851- rm -f $(DESTDIR)$(LIBDIR)/libmandoc.a52+ rm -f $(DESTDIR)$(LIBDIR)/$(LIBMANDOC)53 rm -f $(DESTDIR)$(MANDIR)/man3/mandoc.354 rm -f $(DESTDIR)$(MANDIR)/man3/mandoc_escape.355 rm -f $(DESTDIR)$(MANDIR)/man3/mandoc_malloc.356@@ -515,23 +519,26 @@ Makefile.local config.h: configure $(TESTSRCS)57 libmandoc.a: $(MANDOC_COBJS) $(LIBMANDOC_OBJS)58 $(AR) rs $@ $(MANDOC_COBJS) $(LIBMANDOC_OBJS)5960-mandoc: $(MAIN_OBJS) libmandoc.a61- $(CC) -o $@ $(LDFLAGS) $(MAIN_OBJS) libmandoc.a $(LDADD)62+libmandoc.so: $(MANDOC_COBJS) $(LIBMANDOC_OBJS)63+ $(CC) $(LDFLAGS) -shared -o $@ $(MANDOC_COBJS) $(LIBMANDOC_OBJS) $(LDADD)64+65+mandoc: $(MAIN_OBJS) $(LIBMANDOC)66+ $(CC) -o $@ $(LDFLAGS) $(MAIN_OBJS) $(MANDOCLIB) $(LDADD)6768 man: mandoc69 $(LN) mandoc man7071-man.cgi: $(CGI_OBJS) libmandoc.a72- $(CC) $(STATIC) -o $@ $(LDFLAGS) $(CGI_OBJS) libmandoc.a $(LDADD)73+man.cgi: $(CGI_OBJS) $(LIBMANDOC)74+ $(CC) $(STATIC) -o $@ $(LDFLAGS) $(CGI_OBJS) $(MANDOCLIB) $(LDADD)7576-mandocd: $(MANDOCD_OBJS) libmandoc.a77- $(CC) -o $@ $(LDFLAGS) $(MANDOCD_OBJS) libmandoc.a $(LDADD)78+mandocd: $(MANDOCD_OBJS) $(LIBMANDOC)79+ $(CC) -o $@ $(LDFLAGS) $(MANDOCD_OBJS) $(MANDOCLIB) $(LDADD)8081-catman: catman.o libmandoc.a82- $(CC) -o $@ $(LDFLAGS) catman.o libmandoc.a $(LDADD)83+catman: catman.o $(LIBMANDOC)84+ $(CC) -o $@ $(LDFLAGS) catman.o $(MANDOCLIB) $(LDADD)8586-demandoc: $(DEMANDOC_OBJS) libmandoc.a87- $(CC) -o $@ $(LDFLAGS) $(DEMANDOC_OBJS) libmandoc.a $(LDADD)88+demandoc: $(DEMANDOC_OBJS) $(LIBMANDOC)89+ $(CC) -o $@ $(LDFLAGS) $(DEMANDOC_OBJS) $(MANDOCLIB) $(LDADD)9091 soelim: $(SOELIM_COBJS) soelim.o92 $(CC) -o $@ $(LDFLAGS) $(SOELIM_COBJS) soelim.o