# GNU Makefile for third party libraries used by MuPDF # # If thirdparty libraries are supplied, they will be built as # static libraries. Download and unzip the the mupdf-thirdparty.zip archive # in the source directory. freetype_dir := $(wildcard thirdparty/freetype*) jbig2dec_dir := $(wildcard thirdparty/jbig2dec*) jpeg_dir := $(wildcard thirdparty/jpeg*) openjpeg_dir := $(wildcard thirdparty/openjpeg*/libopenjpeg) zlib_dir := $(wildcard thirdparty/zlib*) ifneq "$(freetype_dir)" "" THIRD_LIBS += $(FREETYPE_LIB) THIRD_INCS += -I$(freetype_dir)/include LIBS := $(filter-out -lfreetype, $(LIBS)) SYS_FREETYPE_INC := FREETYPE_OBJ=$(addprefix $(OBJDIR)/ft_, \ ftbase.o ftbbox.o ftbitmap.o ftgasp.o ftglyph.o ftinit.o \ ftstroke.o ftsynth.o ftsystem.o fttype1.o ftxf86.o \ cff.o type1cid.o psaux.o psnames.o smooth.o sfnt.o truetype.o type1.o ) FREETYPE_LIB=$(OBJDIR)/libfreetype.a $(FREETYPE_LIB): $(FREETYPE_OBJ) $(AR_CMD) FTCC_CMD = $(CC_CMD) -DFT2_BUILD_LIBRARY -DDARWIN_NO_CARBON \ '-DFT_CONFIG_MODULES_H="slimftmodules.h"' \ '-DFT_CONFIG_OPTIONS_H="slimftoptions.h"' $(OBJDIR)/ft_ftbase.o: $(freetype_dir)/src/base/ftbase.c $(FTCC_CMD) $(OBJDIR)/ft_ftbbox.o: $(freetype_dir)/src/base/ftbbox.c $(FTCC_CMD) $(OBJDIR)/ft_ftbitmap.o: $(freetype_dir)/src/base/ftbitmap.c $(FTCC_CMD) $(OBJDIR)/ft_ftgasp.o: $(freetype_dir)/src/base/ftgasp.c $(FTCC_CMD) $(OBJDIR)/ft_ftglyph.o: $(freetype_dir)/src/base/ftglyph.c $(FTCC_CMD) $(OBJDIR)/ft_ftinit.o: $(freetype_dir)/src/base/ftinit.c $(FTCC_CMD) $(OBJDIR)/ft_ftstroke.o: $(freetype_dir)/src/base/ftstroke.c $(FTCC_CMD) $(OBJDIR)/ft_ftsynth.o: $(freetype_dir)/src/base/ftsynth.c $(FTCC_CMD) $(OBJDIR)/ft_ftsystem.o: $(freetype_dir)/src/base/ftsystem.c $(FTCC_CMD) $(OBJDIR)/ft_fttype1.o: $(freetype_dir)/src/base/fttype1.c $(FTCC_CMD) $(OBJDIR)/ft_ftxf86.o: $(freetype_dir)/src/base/ftxf86.c $(FTCC_CMD) $(OBJDIR)/ft_cff.o: $(freetype_dir)/src/cff/cff.c $(FTCC_CMD) $(OBJDIR)/ft_type1cid.o: $(freetype_dir)/src/cid/type1cid.c $(FTCC_CMD) $(OBJDIR)/ft_psaux.o: $(freetype_dir)/src/psaux/psaux.c $(FTCC_CMD) $(OBJDIR)/ft_psnames.o: $(freetype_dir)/src/psnames/psnames.c $(FTCC_CMD) $(OBJDIR)/ft_smooth.o: $(freetype_dir)/src/smooth/smooth.c $(FTCC_CMD) $(OBJDIR)/ft_sfnt.o: $(freetype_dir)/src/sfnt/sfnt.c $(FTCC_CMD) $(OBJDIR)/ft_truetype.o: $(freetype_dir)/src/truetype/truetype.c $(FTCC_CMD) $(OBJDIR)/ft_type1.o: $(freetype_dir)/src/type1/type1.c $(FTCC_CMD) endif ifneq "$(jbig2dec_dir)" "" THIRD_LIBS += $(JBIG2DEC_LIB) THIRD_INCS += -I$(jbig2dec_dir) LIBS := $(filter-out -ljbig2dec, $(LIBS)) JBIG2DEC_SRC=$(addprefix $(jbig2dec_dir)/, \ jbig2.c \ jbig2_arith.c \ jbig2_arith_int.c \ jbig2_arith_iaid.c \ jbig2_huffman.c \ jbig2_segment.c \ jbig2_page.c \ jbig2_symbol_dict.c \ jbig2_text.c \ jbig2_generic.c \ jbig2_refinement.c \ jbig2_mmr.c \ jbig2_image.c \ jbig2_metadata.c ) JBIG2DEC_OBJ=$(JBIG2DEC_SRC:$(jbig2dec_dir)/%.c=$(OBJDIR)/%.o) JBIG2DEC_LIB=$(OBJDIR)/libjbig2dec.a $(JBIG2DEC_LIB): $(JBIG2DEC_OBJ) $(AR_CMD) $(OBJDIR)/%.o: $(jbig2dec_dir)/%.c $(CC_CMD) -DHAVE_STDINT_H endif ifneq "$(jpeg_dir)" "" THIRD_LIBS += $(JPEG_LIB) THIRD_INCS += -I$(jpeg_dir) LIBS := $(filter-out -ljpeg, $(LIBS)) JPEG_SRC=$(addprefix $(jpeg_dir)/, \ jaricom.c \ jcomapi.c \ jdapimin.c \ jdapistd.c \ jdarith.c \ jdatadst.c \ jdatasrc.c \ jdcoefct.c \ jdcolor.c \ jddctmgr.c \ jdhuff.c \ jdinput.c \ jdmainct.c \ jdmarker.c \ jdmaster.c \ jdmerge.c \ jdpostct.c \ jdsample.c \ jdtrans.c \ jerror.c \ jfdctflt.c \ jfdctfst.c \ jfdctint.c \ jidctflt.c \ jidctfst.c \ jidctint.c \ jquant1.c \ jquant2.c \ jutils.c \ jmemmgr.c \ jmemansi.c) JPEG_OBJ=$(JPEG_SRC:$(jpeg_dir)/%.c=$(OBJDIR)/jpeg_%.o) JPEG_LIB=$(OBJDIR)/libjpeg.a $(JPEG_LIB): $(JPEG_OBJ) $(AR_CMD) $(OBJDIR)/jpeg_%.o: $(jpeg_dir)/%.c $(CC_CMD) -Dmain=xxxmain endif ifneq "$(openjpeg_dir)" "" THIRD_LIBS += $(OPENJPEG_LIB) THIRD_INCS += -I$(openjpeg_dir) LIBS := $(filter-out -lopenjpeg, $(LIBS)) OPENJPEG_SRC=$(addprefix $(openjpeg_dir)/, \ bio.c \ cio.c \ dwt.c \ event.c \ image.c \ j2k.c \ j2k_lib.c \ jp2.c \ jpt.c \ mct.c \ mqc.c \ openjpeg.c \ pi.c \ raw.c \ t1.c \ t2.c \ tcd.c \ tgt.c ) OPENJPEG_OBJ=$(OPENJPEG_SRC:$(openjpeg_dir)/%.c=$(OBJDIR)/opj_%.o) OPENJPEG_LIB=$(OBJDIR)/libopenjpeg.a $(OPENJPEG_LIB): $(OPENJPEG_OBJ) $(AR_CMD) $(OBJDIR)/opj_%.o: $(openjpeg_dir)/%.c $(CC_CMD) -DOPJ_STATIC endif ifneq "$(zlib_dir)" "" THIRD_LIBS += $(ZLIB_LIB) THIRD_INCS += -I$(zlib_dir) LIBS := $(filter-out -lz, $(LIBS)) ZLIB_SRC=$(addprefix $(zlib_dir)/, \ adler32.c \ compress.c \ crc32.c \ deflate.c \ inffast.c \ inflate.c \ inftrees.c \ trees.c \ uncompr.c \ zutil.c ) ZLIB_OBJ=$(ZLIB_SRC:$(zlib_dir)/%.c=$(OBJDIR)/zlib_%.o) ZLIB_LIB=$(OBJDIR)/libz.a $(ZLIB_LIB): $(ZLIB_OBJ) $(AR_CMD) $(OBJDIR)/zlib_%.o: $(zlib_dir)/%.c $(CC_CMD) endif