--- mupdf-1.8-source/Makefile.orig 2015-11-10 17:19:51.000000000 +0100 +++ mupdf-1.8-source/Makefile 2016-04-14 20:39:17.552708551 +0200 @@ -44,17 +44,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 $@ @@ -91,47 +98,47 @@ 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)))) # --- Choice of Javascript library --- ifeq "$(HAVE_MUJS)" "yes" -PDF_OBJ += $(OUT)/pdf/js/pdf-js.o -PDF_OBJ += $(OUT)/pdf/js/pdf-jsimp-mu.o +PDF_LOBJ += $(OUT)/pdf/js/pdf-js.lo +PDF_LOBJ += $(OUT)/pdf/js/pdf-jsimp-mu.lo THIRD_LIBS += $(MUJS_LIB) LIBS += $(MUJS_LIBS) CFLAGS += $(MUJS_CFLAGS) else ifeq "$(HAVE_JSCORE)" "yes" -PDF_OBJ += $(OUT)/pdf/js/pdf-js.o -PDF_OBJ += $(OUT)/pdf/js/pdf-jsimp-jscore.o +PDF_LOBJ += $(OUT)/pdf/js/pdf-js.lo +PDF_LOBJ += $(OUT)/pdf/js/pdf-jsimp-jscore.lo LIBS += $(JSCORE_LIBS) CFLAGS += $(JSCORE_CFLAGS) else ifeq "$(HAVE_V8)" "yes" -PDF_OBJ += $(OUT)/pdf/js/pdf-js.o -PDF_OBJ += $(OUT)/pdf/js/pdf-jsimp-cpp.o $(OUT)/pdf/js/pdf-jsimp-v8.o +PDF_LOBJ += $(OUT)/pdf/js/pdf-js.lo +PDF_LOBJ += $(OUT)/pdf/js/pdf-jsimp-cpp.lo $(OUT)/pdf/js/pdf-jsimp-v8.lo LIBS += $(V8_LIBS) CFLAGS += $(V8_CFLAGS) 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) # --- Library --- -MUPDF_LIB := $(OUT)/libmupdf.a +MUPDF_LIB := $(OUT)/libmupdf.la -$(MUPDF_LIB) : $(FITZ_OBJ) $(PDF_OBJ) $(XPS_OBJ) $(CBZ_OBJ) $(HTML_OBJ) $(GPRF_OBJ) +$(MUPDF_LIB) : $(FITZ_LOBJ) $(PDF_LOBJ) $(XPS_LOBJ) $(CBZ_LOBJ) $(HTML_LOBJ) $(GPRF_LOBJ) INSTALL_LIBS := $(MUPDF_LIB) @@ -140,10 +147,8 @@ $(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) @@ -154,6 +159,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) @@ -233,12 +244,12 @@ generate: $(CMAP_GEN) $(FONT_GEN) $(JAVASCRIPT_GEN) $(ADOBECA_GEN) $(NAME_GEN) -$(OUT)/pdf/pdf-cmap-table.o : $(CMAP_GEN) -$(OUT)/pdf/pdf-fontfile.o : $(FONT_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-fontfile.lo : $(FONT_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 --- @@ -247,19 +258,19 @@ $(MUTOOL_OBJ): $(FITZ_HDR) $(PDF_HDR) $(MUTOOL) : $(MUPDF_LIB) $(THIRD_LIBS) $(MUTOOL) : $(MUTOOL_OBJ) - $(LINK_CMD) + $(LTLINK_CMD) MJSGEN := $(OUT)/mjsgen $(MJSGEN) : $(MUPDF_LIB) $(THIRD_LIBS) $(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_LIBS) $(MUJSTEST) : $(MUJSTEST_OBJ) - $(LINK_CMD) + $(LTLINK_CMD) ifeq "$(HAVE_X11)" "yes" MUVIEW_X11 := $(OUT)/mupdf-x11 @@ -267,7 +278,7 @@ $(MUVIEW_X11_OBJ) : $(FITZ_HDR) $(PDF_HDR) $(MUVIEW_X11) : $(MUPDF_LIB) $(THIRD_LIBS) $(MUVIEW_X11) : $(MUVIEW_X11_OBJ) - $(LINK_CMD) $(X11_LIBS) + $(LTLINK_CMD) $(X11_LIBS) ifeq "$(HAVE_GLFW)" "yes" MUVIEW_GLFW := $(OUT)/mupdf-gl @@ -275,7 +286,7 @@ $(MUVIEW_GLFW_OBJ) : $(FITZ_HDR) $(PDF_HDR) platform/gl/gl-app.h $(MUVIEW_GLFW) : $(MUPDF_LIB) $(THIRD_LIBS) $(GLFW_LIB) $(MUVIEW_GLFW) : $(MUVIEW_GLFW_OBJ) - $(LINK_CMD) $(GLFW_LIBS) + $(LTLINK_CMD) $(GLFW_LIBS) endif ifeq "$(HAVE_CURL)" "yes" @@ -284,7 +295,7 @@ $(MUVIEW_X11_CURL_OBJ) : $(FITZ_HDR) $(PDF_HDR) $(MUVIEW_X11_CURL) : $(MUPDF_LIB) $(THIRD_LIBS) $(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 @@ -294,7 +305,7 @@ $(MUVIEW_WIN32_OBJ) : $(FITZ_HDR) $(PDF_HDR) $(MUVIEW_WIN32) : $(MUPDF_LIB) $(THIRD_LIBS) $(MUVIEW_WIN32) : $(MUVIEW_WIN32_OBJ) - $(LINK_CMD) $(WIN32_LIBS) + $(LTLINK_CMD) $(WIN32_LIBS) endif MUVIEW := $(MUVIEW_X11) $(MUVIEW_WIN32) $(MUVIEW_GLFW) @@ -307,9 +318,9 @@ examples: $(OUT)/example $(OUT)/multi-threaded $(OUT)/example: docs/example.c $(MUPDF_LIB) $(THIRD_LIBS) - $(LINK_CMD) $(CFLAGS) + $(LTLINK_CMD) $(CFLAGS) $(OUT)/multi-threaded: docs/multi-threaded.c $(MUPDF_LIB) $(THIRD_LIBS) - $(LINK_CMD) $(CFLAGS) -lpthread + $(LTLINK_CMD) $(CFLAGS) -lpthread # --- Update version string header --- @@ -351,10 +362,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