--- mupdf-1.9a-source/Makefile.orig +++ mupdf-1.9a-source/Makefile @@ -16,6 +16,7 @@ # XCFLAGS or XLIBS instead. Make ignores any lines in the makefile that # set a variable that was set on the command line. CFLAGS += $(XCFLAGS) -Iinclude -I$(GEN) +CFLAGS += -fPIC LIBS += $(XLIBS) -lm LIBS += $(FREETYPE_LIBS) @@ -52,6 +53,7 @@ CXX_CMD = $(QUIET_CXX) $(CXX) $(CFLAGS) -o $@ -c $< AR_CMD = $(QUIET_AR) $(AR) cr $@ $^ LINK_CMD = $(QUIET_LINK) $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) +LINK_SHARED_CMD = $(QUIET_LINK) $(CC) $(LDFLAGS) -shared -Wl,-soname,$(notdir $@) -o $@ $^ $(LIBS) MKDIR_CMD = $(QUIET_MKDIR) mkdir -p $@ RM_CMD = $(QUIET_RM) rm -f $@ @@ -141,8 +143,8 @@ # --- Library --- -MUPDF_LIB = $(OUT)/libmupdf.a -THIRD_LIB = $(OUT)/libmupdfthird.a +MUPDF_LIB = $(OUT)/libmupdf.so.0 +THIRD_LIB = $(OUT)/libmupdfthird.so.0 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) @@ -161,6 +163,9 @@ $(RM_CMD) $(AR_CMD) $(RANLIB_CMD) + +$(OUT)/%.so.0 : $(OUT)/%.a + $(LINK_SHARED_CMD) $(OUT)/%: $(OUT)/%.o $(LINK_CMD)