Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. # GNU Makefile for third party libraries used by MuPDF
  2. #
  3. # If thirdparty libraries are supplied, they will be built as
  4. # static libraries. Download and unzip the the mupdf-thirdparty.zip
  5. # archive in the source directory.
  6.  
  7. FREETYPE_DIR := $(wildcard thirdparty/freetype*)
  8. JBIG2DEC_DIR := $(wildcard thirdparty/jbig2dec*)
  9. JPEG_DIR := $(wildcard thirdparty/jpeg*)
  10. OPENJPEG_DIR := $(wildcard thirdparty/openjpeg*/libopenjpeg)
  11. ZLIB_DIR := $(wildcard thirdparty/zlib*)
  12.  
  13. # --- FreeType 2 ---
  14.  
  15. ifneq "$(FREETYPE_DIR)" ""
  16. CFLAGS += -I$(FREETYPE_DIR)/include
  17. LIBS := $(filter-out -lfreetype, $(LIBS))
  18. FREETYPE_LIB := $(OUT)/libfreetype.a
  19.  
  20. FREETYPE_SRC := \
  21.         ftbase.c \
  22.         ftbbox.c \
  23.         ftbitmap.c \
  24.         ftgasp.c \
  25.         ftglyph.c \
  26.         ftinit.c \
  27.         ftstroke.c \
  28.         ftsynth.c \
  29.         ftsystem.c \
  30.         fttype1.c \
  31.         ftxf86.c \
  32.         cff.c \
  33.         psaux.c \
  34.         pshinter.c \
  35.         psnames.c \
  36.         raster.c \
  37.         sfnt.c \
  38.         smooth.c \
  39.         truetype.c \
  40.         type1.c \
  41.         type1cid.c \
  42.  
  43. $(FREETYPE_LIB): $(addprefix $(OUT)/ft_, $(FREETYPE_SRC:%.c=%.o))
  44.  
  45. FT_CFLAGS := -DFT2_BUILD_LIBRARY -DDARWIN_NO_CARBON \
  46.         '-DFT_CONFIG_MODULES_H="slimftmodules.h"' \
  47.         '-DFT_CONFIG_OPTIONS_H="slimftoptions.h"'
  48.  
  49. $(OUT)/ft_%.o: $(FREETYPE_DIR)/src/base/%.c     | $(OUT)
  50.         $(CC_CMD) $(FT_CFLAGS)
  51. $(OUT)/ft_%.o: $(FREETYPE_DIR)/src/cff/%.c      | $(OUT)
  52.         $(CC_CMD) $(FT_CFLAGS)
  53. $(OUT)/ft_%.o: $(FREETYPE_DIR)/src/cid/%.c      | $(OUT)
  54.         $(CC_CMD) $(FT_CFLAGS)
  55. $(OUT)/ft_%.o: $(FREETYPE_DIR)/src/psaux/%.c    | $(OUT)
  56.         $(CC_CMD) $(FT_CFLAGS)
  57. $(OUT)/ft_%.o: $(FREETYPE_DIR)/src/pshinter/%.c | $(OUT)
  58.         $(CC_CMD) $(FT_CFLAGS)
  59. $(OUT)/ft_%.o: $(FREETYPE_DIR)/src/psnames/%.c  | $(OUT)
  60.         $(CC_CMD) $(FT_CFLAGS)
  61. $(OUT)/ft_%.o: $(FREETYPE_DIR)/src/raster/%.c   | $(OUT)
  62.         $(CC_CMD) $(FT_CFLAGS)
  63. $(OUT)/ft_%.o: $(FREETYPE_DIR)/src/smooth/%.c   | $(OUT)
  64.         $(CC_CMD) $(FT_CFLAGS)
  65. $(OUT)/ft_%.o: $(FREETYPE_DIR)/src/sfnt/%.c     | $(OUT)
  66.         $(CC_CMD) $(FT_CFLAGS)
  67. $(OUT)/ft_%.o: $(FREETYPE_DIR)/src/truetype/%.c | $(OUT)
  68.         $(CC_CMD) $(FT_CFLAGS)
  69. $(OUT)/ft_%.o: $(FREETYPE_DIR)/src/type1/%.c    | $(OUT)
  70.         $(CC_CMD) $(FT_CFLAGS)
  71.  
  72. else
  73. CFLAGS += $(SYS_FREETYPE_INC)
  74. endif
  75.  
  76. # --- JBIG2DEC ---
  77.  
  78. ifneq "$(JBIG2DEC_DIR)" ""
  79. CFLAGS += -I$(JBIG2DEC_DIR)
  80. LIBS := $(filter-out -ljbig2dec, $(LIBS))
  81. JBIG2DEC_LIB := $(OUT)/libjbig2dec.a
  82.  
  83. JBIG2DEC_SRC := \
  84.         jbig2.c \
  85.         jbig2_arith.c \
  86.         jbig2_arith_iaid.c \
  87.         jbig2_arith_int.c \
  88.         jbig2_generic.c \
  89.         jbig2_huffman.c \
  90.         jbig2_image.c \
  91.         jbig2_metadata.c \
  92.         jbig2_mmr.c \
  93.         jbig2_page.c \
  94.         jbig2_refinement.c \
  95.         jbig2_segment.c \
  96.         jbig2_symbol_dict.c \
  97.         jbig2_text.c \
  98.  
  99. $(JBIG2DEC_LIB): $(addprefix $(OUT)/, $(JBIG2DEC_SRC:%.c=%.o))
  100. $(OUT)/%.o: $(JBIG2DEC_DIR)/%.c | $(OUT)
  101.         $(CC_CMD) -DHAVE_STDINT_H
  102. endif
  103.  
  104. # --- JPEG library from IJG ---
  105.  
  106. ifneq "$(JPEG_DIR)" ""
  107. CFLAGS += -I$(JPEG_DIR)
  108. LIBS := $(filter-out -ljpeg, $(LIBS))
  109. JPEG_LIB := $(OUT)/libjpeg.a
  110.  
  111. JPEG_SRC := \
  112.         jaricom.c \
  113.         jcomapi.c \
  114.         jdapimin.c \
  115.         jdapistd.c \
  116.         jdarith.c \
  117.         jdatadst.c \
  118.         jdatasrc.c \
  119.         jdcoefct.c \
  120.         jdcolor.c \
  121.         jddctmgr.c \
  122.         jdhuff.c \
  123.         jdinput.c \
  124.         jdmainct.c \
  125.         jdmarker.c \
  126.         jdmaster.c \
  127.         jdmerge.c \
  128.         jdpostct.c \
  129.         jdsample.c \
  130.         jdtrans.c \
  131.         jerror.c \
  132.         jfdctflt.c \
  133.         jfdctfst.c \
  134.         jfdctint.c \
  135.         jidctflt.c \
  136.         jidctfst.c \
  137.         jidctint.c \
  138.         jmemansi.c \
  139.         jmemmgr.c \
  140.         jquant1.c \
  141.         jquant2.c \
  142.         jutils.c \
  143.  
  144. $(JPEG_LIB): $(addprefix $(OUT)/jpeg_, $(JPEG_SRC:%.c=%.o))
  145. $(OUT)/jpeg_%.o: $(JPEG_DIR)/%.c | $(OUT)
  146.         $(CC_CMD) -Dmain=xxxmain
  147. endif
  148.  
  149. # --- OpenJPEG ---
  150.  
  151. ifneq "$(OPENJPEG_DIR)" ""
  152. CFLAGS += -I$(OPENJPEG_DIR)
  153. LIBS := $(filter-out -lopenjpeg, $(LIBS))
  154. OPENJPEG_LIB := $(OUT)/libopenjpeg.a
  155.  
  156. OPENJPEG_SRC := \
  157.         bio.c \
  158.         cio.c \
  159.         dwt.c \
  160.         event.c \
  161.         image.c \
  162.         j2k.c \
  163.         j2k_lib.c \
  164.         jp2.c \
  165.         jpt.c \
  166.         mct.c \
  167.         mqc.c \
  168.         openjpeg.c \
  169.         pi.c \
  170.         raw.c \
  171.         t1.c \
  172.         t2.c \
  173.         tcd.c \
  174.         tgt.c \
  175.  
  176. $(OPENJPEG_LIB): $(addprefix $(OUT)/opj_, $(OPENJPEG_SRC:%.c=%.o))
  177. $(OUT)/opj_%.o: $(OPENJPEG_DIR)/%.c | $(OUT)
  178.         $(CC_CMD) -DOPJ_STATIC
  179. endif
  180.  
  181. # --- ZLIB ---
  182.  
  183. ifneq "$(ZLIB_DIR)" ""
  184. CFLAGS += -I$(ZLIB_DIR)
  185. LIBS := $(filter-out -lz, $(LIBS))
  186. ZLIB_LIB := $(OUT)/libz.a
  187.  
  188. ZLIB_SRC := \
  189.         adler32.c \
  190.         compress.c \
  191.         crc32.c \
  192.         deflate.c \
  193.         inffast.c \
  194.         inflate.c \
  195.         inftrees.c \
  196.         trees.c \
  197.         uncompr.c \
  198.         zutil.c \
  199.  
  200. $(ZLIB_LIB): $(addprefix $(OUT)/zlib_, $(ZLIB_SRC:%.c=%.o))
  201. $(OUT)/zlib_%.o: $(ZLIB_DIR)/%.c | $(OUT)
  202.         $(CC_CMD)
  203. endif
  204.