--- mupdf-1.9a-source/Makefile.orig 2016-04-21 13:14:32.000000000 +0200 +++ mupdf-1.9a-source/Makefile 2016-05-14 08:56:44.284541516 +0200 @@ -41,17 +41,24 @@ ifneq "$(verbose)" "yes" QUIET_AR = @ echo ' ' ' ' AR $@ ; QUIET_CC = @ echo ' ' ' ' CC $@ ; +QUIET_LTCC = @ echo ' ' ' ' LTCC $@ ; QUIET_CXX = @ echo ' ' ' ' CXX $@ ; +QUIET_LTCXX = @ echo ' ' ' ' LTCXX $@ ; QUIET_GEN = @ echo ' ' ' ' GEN $@ ; QUIET_LINK = @ echo ' ' ' ' LINK $@ ; +QUIET_LTLINK = @ echo ' ' ' ' LTLINK $@ ; QUIET_MKDIR = @ echo ' ' ' ' MKDIR $@ ; QUIET_RM = @ echo ' ' ' ' RM $@ ; endif CC_CMD = $(QUIET_CC) $(CC) $(CFLAGS) -o $@ -c $< +LTCC_CMD = $(QUIET_LTCC) libtool --mode=compile --tag=CC $(CC) $(CFLAGS) -o $@ -c $< CXX_CMD = $(QUIET_CXX) $(CXX) $(CFLAGS) -o $@ -c $< +LTCXX_CMD = $(QUIET_CXX) libtool --mode=compile --tag=CXX $(CXX) $(CFLAGS) -o $@ -c $< AR_CMD = $(QUIET_AR) $(AR) cr $@ $^ LINK_CMD = $(QUIET_LINK) $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) +LTLINK_CMD = $(QUIET_LINK) libtool --mode=link --tag=CC $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) +LTLINKCXX_CMD = $(QUIET_LINK) libtool --mode=link --tag=CXX $(CXX) $(LDFLAGS) -o $@ $^ $(LIBS) MKDIR_CMD = $(QUIET_MKDIR) mkdir -p $@ RM_CMD = $(QUIET_RM) rm -f $@ @@ -89,25 +96,25 @@ HTML_SRC_HDR := $(wildcard source/html/*.h) GPRF_SRC_HDR := $(wildcard source/gprf/*.h) -FITZ_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(FITZ_SRC)))) -PDF_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(PDF_SRC)))) -XPS_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(XPS_SRC)))) -CBZ_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(CBZ_SRC)))) -HTML_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(HTML_SRC)))) -GPRF_OBJ := $(subst source/, $(OUT)/, $(addsuffix .o, $(basename $(GPRF_SRC)))) +FITZ_LOBJ := $(subst source/, $(OUT)/, $(addsuffix .lo, $(basename $(FITZ_SRC)))) +PDF_LOBJ := $(subst source/, $(OUT)/, $(addsuffix .lo, $(basename $(PDF_SRC)))) +XPS_LOBJ := $(subst source/, $(OUT)/, $(addsuffix .lo, $(basename $(XPS_SRC)))) +CBZ_LOBJ := $(subst source/, $(OUT)/, $(addsuffix .lo, $(basename $(CBZ_SRC)))) +HTML_LOBJ := $(subst source/, $(OUT)/, $(addsuffix .lo, $(basename $(HTML_SRC)))) +GPRF_LOBJ := $(subst source/, $(OUT)/, $(addsuffix .lo, $(basename $(GPRF_SRC)))) ifeq "$(HAVE_MUJS)" "yes" -PDF_OBJ += $(OUT)/pdf/js/pdf-js.o +PDF_LOBJ += $(OUT)/pdf/js/pdf-js.lo else -PDF_OBJ += $(OUT)/pdf/js/pdf-js-none.o +PDF_LOBJ += $(OUT)/pdf/js/pdf-js-none.lo endif -$(FITZ_OBJ) : $(FITZ_HDR) $(FITZ_SRC_HDR) -$(PDF_OBJ) : $(FITZ_HDR) $(PDF_HDR) $(PDF_SRC_HDR) -$(XPS_OBJ) : $(FITZ_HDR) $(XPS_HDR) $(XPS_SRC_HDR) -$(CBZ_OBJ) : $(FITZ_HDR) -$(HTML_OBJ) : $(FITZ_HDR) $(HTML_HDR) $(HTML_SRC_HDR) -$(GPRF_OBJ) : $(FITZ_HDR) $(GPRF_HDR) $(GPRF_SRC_HDR) +$(FITZ_LOBJ) : $(FITZ_HDR) $(FITZ_SRC_HDR) +$(PDF_LOBJ) : $(FITZ_HDR) $(PDF_HDR) $(PDF_SRC_HDR) +$(XPS_LOBJ) : $(FITZ_HDR) $(XPS_HDR) $(XPS_SRC_HDR) +$(CBZ_LOBJ) : $(FITZ_HDR) +$(HTML_LOBJ) : $(FITZ_HDR) $(HTML_HDR) $(HTML_SRC_HDR) +$(GPRF_LOBJ) : $(FITZ_HDR) $(GPRF_HDR) $(GPRF_SRC_HDR) # --- Generated embedded font files --- @@ -123,7 +130,7 @@ FONT_BIN := $(FONT_BIN_DROID) $(FONT_BIN_NOTO) $(FONT_BIN_URW) $(FONT_BIN_SIL) FONT_GEN := $(FONT_GEN_DROID) $(FONT_GEN_NOTO) $(FONT_GEN_URW) $(FONT_GEN_SIL) -FONT_OBJ := $(subst $(GEN)/, $(OUT)/fonts/, $(addsuffix .o, $(basename $(FONT_GEN)))) +FONT_LOBJ := $(subst $(GEN)/, $(OUT)/fonts/, $(addsuffix .o, $(basename $(FONT_GEN)))) $(GEN)/%.c : resources/fonts/droid/%.ttc $(FONTDUMP) $(QUIET_GEN) $(FONTDUMP) $@ $< @@ -134,33 +141,28 @@ $(GEN)/%.c : resources/fonts/sil/%.cff $(FONTDUMP) $(QUIET_GEN) $(FONTDUMP) $@ $< -$(FONT_OBJ) : $(FONT_GEN) +$(FONT_LOBJ) : $(FONT_GEN) $(FONT_GEN_DROID) : $(FONT_BIN_DROID) $(FONT_GEN_NOTO) : $(FONT_BIN_NOTO) $(FONT_GEN_URW) : $(FONT_BIN_URW) # --- Library --- -MUPDF_LIB = $(OUT)/libmupdf.a -THIRD_LIB = $(OUT)/libmupdfthird.a +MUPDF_LIB = $(OUT)/libmupdf.la -MUPDF_OBJ := $(FITZ_OBJ) $(FONT_OBJ) $(PDF_OBJ) $(XPS_OBJ) $(CBZ_OBJ) $(HTML_OBJ) $(GPRF_OBJ) -THIRD_OBJ := $(FREETYPE_OBJ) $(HARFBUZZ_OBJ) $(JBIG2DEC_OBJ) $(JPEG_OBJ) $(MUJS_OBJ) $(OPENJPEG_OBJ) $(ZLIB_OBJ) +MUPDF_LOBJ := $(FITZ_LOBJ) $(FONT_LOBJ) $(PDF_LOBJ) $(XPS_LOBJ) $(CBZ_LOBJ) $(HTML_LOBJ) $(GPRF_LOBJ) -$(MUPDF_LIB) : $(MUPDF_OBJ) -$(THIRD_LIB) : $(THIRD_OBJ) +$(MUPDF_LIB) : $(MUPDF_LOBJ) -INSTALL_LIBS := $(MUPDF_LIB) $(THIRD_LIB) +INSTALL_LIBS := $(MUPDF_LIB) # --- Rules --- $(ALL_DIR) $(OUT) $(GEN) : $(MKDIR_CMD) -$(OUT)/%.a : - $(RM_CMD) - $(AR_CMD) - $(RANLIB_CMD) +$(OUT)/%.la : + $(LTLINK_CMD) -rpath $(libdir) $(LDLIBS) $(OUT)/%: $(OUT)/%.o $(LINK_CMD) @@ -171,6 +173,12 @@ $(OUT)/%.o : source/%.cpp | $(ALL_DIR) $(CXX_CMD) +$(OUT)/%.lo : source/%.c | $(ALL_DIR) + $(LTCC_CMD) + +$(OUT)/%.lo : source/%.cpp | $(ALL_DIR) + $(LTCXX_CMD) + $(OUT)/%.o : scripts/%.c | $(OUT) $(CC_CMD) @@ -240,57 +248,57 @@ generate: $(CMAP_GEN) $(FONT_GEN) $(JAVASCRIPT_GEN) $(ADOBECA_GEN) $(NAME_GEN) -$(OUT)/pdf/pdf-cmap-table.o : $(CMAP_GEN) -$(OUT)/pdf/pdf-pkcs7.o : $(ADOBECA_GEN) -$(OUT)/pdf/js/pdf-js.o : $(JAVASCRIPT_GEN) -$(OUT)/pdf/pdf-object.o : source/pdf/pdf-name-table.h -$(OUT)/cmapdump.o : include/mupdf/pdf/cmap.h source/pdf/pdf-cmap.c source/pdf/pdf-cmap-parse.c source/pdf/pdf-name-table.h +$(OUT)/pdf/pdf-cmap-table.lo : $(CMAP_GEN) +$(OUT)/pdf/pdf-pkcs7.lo : $(ADOBECA_GEN) +$(OUT)/pdf/js/pdf-js.lo : $(JAVASCRIPT_GEN) +$(OUT)/pdf/pdf-object.lo : source/pdf/pdf-name-table.h +$(OUT)/cmapdump.lo : include/mupdf/pdf/cmap.h source/pdf/pdf-cmap.c source/pdf/pdf-cmap-parse.c source/pdf/pdf-name-table.h # --- Tools and Apps --- MUTOOL := $(addprefix $(OUT)/, mutool) MUTOOL_OBJ := $(addprefix $(OUT)/tools/, mutool.o mudraw.o murun.o pdfclean.o pdfcreate.o pdfextract.o pdfinfo.o pdfposter.o pdfshow.o pdfpages.o pdfmerge.o) $(MUTOOL_OBJ): $(FITZ_HDR) $(PDF_HDR) -$(MUTOOL) : $(MUPDF_LIB) $(THIRD_LIB) +$(MUTOOL) : $(MUPDF_LIB) $(MUTOOL) : $(MUTOOL_OBJ) - $(LINK_CMD) + $(LTLINK_CMD) MJSGEN := $(OUT)/mjsgen -$(MJSGEN) : $(MUPDF_LIB) $(THIRD_LIB) +$(MJSGEN) : $(MUPDF_LIB) $(MJSGEN) : $(addprefix $(OUT)/tools/, mjsgen.o) - $(LINK_CMD) + $(LTLINK_CMD) MUJSTEST := $(OUT)/mujstest MUJSTEST_OBJ := $(addprefix $(OUT)/platform/x11/, jstest_main.o pdfapp.o) $(MUJSTEST_OBJ) : $(FITZ_HDR) $(PDF_HDR) -$(MUJSTEST) : $(MUPDF_LIB) $(THIRD_LIB) +$(MUJSTEST) : $(MUPDF_LIB) $(MUJSTEST) : $(MUJSTEST_OBJ) - $(LINK_CMD) + $(LTLINK_CMD) ifeq "$(HAVE_X11)" "yes" MUVIEW_X11 := $(OUT)/mupdf-x11 MUVIEW_X11_OBJ := $(addprefix $(OUT)/platform/x11/, x11_main.o x11_image.o pdfapp.o) $(MUVIEW_X11_OBJ) : $(FITZ_HDR) $(PDF_HDR) -$(MUVIEW_X11) : $(MUPDF_LIB) $(THIRD_LIB) +$(MUVIEW_X11) : $(MUPDF_LIB) $(MUVIEW_X11) : $(MUVIEW_X11_OBJ) - $(LINK_CMD) $(X11_LIBS) + $(LTLINK_CMD) $(X11_LIBS) ifeq "$(HAVE_GLFW)" "yes" MUVIEW_GLFW := $(OUT)/mupdf-gl MUVIEW_GLFW_OBJ := $(addprefix $(OUT)/platform/gl/, gl-font.o gl-input.o gl-main.o) $(MUVIEW_GLFW_OBJ) : $(FITZ_HDR) $(PDF_HDR) platform/gl/gl-app.h -$(MUVIEW_GLFW) : $(MUPDF_LIB) $(THIRD_LIB) $(GLFW_LIB) +$(MUVIEW_GLFW) : $(MUPDF_LIB) $(GLFW_LIB) $(MUVIEW_GLFW) : $(MUVIEW_GLFW_OBJ) - $(LINK_CMD) $(GLFW_LIBS) + $(LTLINK_CMD) $(GLFW_LIBS) endif ifeq "$(HAVE_CURL)" "yes" MUVIEW_X11_CURL := $(OUT)/mupdf-x11-curl MUVIEW_X11_CURL_OBJ := $(addprefix $(OUT)/platform/x11/curl/, x11_main.o x11_image.o pdfapp.o curl_stream.o) $(MUVIEW_X11_CURL_OBJ) : $(FITZ_HDR) $(PDF_HDR) -$(MUVIEW_X11_CURL) : $(MUPDF_LIB) $(THIRD_LIB) $(CURL_LIB) +$(MUVIEW_X11_CURL) : $(MUPDF_LIB) $(CURL_LIB) $(MUVIEW_X11_CURL) : $(MUVIEW_X11_CURL_OBJ) - $(LINK_CMD) $(X11_LIBS) $(CURL_LIBS) $(SYS_CURL_DEPS) + $(LTLINK_CMD) $(X11_LIBS) $(CURL_LIBS) $(SYS_CURL_DEPS) endif endif @@ -298,9 +306,9 @@ MUVIEW_WIN32 := $(OUT)/mupdf MUVIEW_WIN32_OBJ := $(addprefix $(OUT)/platform/x11/, win_main.o pdfapp.o win_res.o) $(MUVIEW_WIN32_OBJ) : $(FITZ_HDR) $(PDF_HDR) -$(MUVIEW_WIN32) : $(MUPDF_LIB) $(THIRD_LIB) +$(MUVIEW_WIN32) : $(MUPDF_LIB) $(MUVIEW_WIN32) : $(MUVIEW_WIN32_OBJ) - $(LINK_CMD) $(WIN32_LIBS) + $(LTLINK_CMD) $(WIN32_LIBS) endif MUVIEW := $(MUVIEW_X11) $(MUVIEW_WIN32) $(MUVIEW_GLFW) @@ -312,10 +320,10 @@ examples: $(OUT)/example $(OUT)/multi-threaded -$(OUT)/example: docs/example.c $(MUPDF_LIB) $(THIRD_LIB) - $(LINK_CMD) $(CFLAGS) -$(OUT)/multi-threaded: docs/multi-threaded.c $(MUPDF_LIB) $(THIRD_LIB) - $(LINK_CMD) $(CFLAGS) -lpthread +$(OUT)/example: docs/example.c $(MUPDF_LIB) + $(LTLINK_CMD) $(CFLAGS) +$(OUT)/multi-threaded: docs/multi-threaded.c $(MUPDF_LIB) + $(LTLINK_CMD) $(CFLAGS) -lpthread # --- Update version string header --- @@ -343,7 +351,6 @@ mandir ?= $(prefix)/share/man docdir ?= $(prefix)/share/doc/mupdf -third: $(THIRD_LIB) extra: $(CURL_LIB) $(GLFW_LIB) libs: $(INSTALL_LIBS) apps: $(INSTALL_APPS) @@ -357,10 +364,10 @@ install include/mupdf/pdf/*.h $(DESTDIR)$(incdir)/mupdf/pdf install -d $(DESTDIR)$(libdir) - install $(INSTALL_LIBS) $(DESTDIR)$(libdir) + libtool --mode=install install $(INSTALL_LIBS) $(DESTDIR)$(libdir) install -d $(DESTDIR)$(bindir) - install $(INSTALL_APPS) $(DESTDIR)$(bindir) + libtool --mode=install install $(INSTALL_APPS) $(DESTDIR)$(bindir) install -d $(DESTDIR)$(mandir)/man1 install docs/man/*.1 $(DESTDIR)$(mandir)/man1