summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile44
-rw-r--r--Makethird204
-rw-r--r--draw/draw_device.c (renamed from fitz/dev_draw.c)0
3 files changed, 130 insertions, 118 deletions
diff --git a/Makefile b/Makefile
index 9456673c..dc1e80bc 100644
--- a/Makefile
+++ b/Makefile
@@ -50,10 +50,10 @@ AR_CMD = rm -f $@ && $(AR) cru $@ $^
else
-GENFILE_CMD = @ echo GENFILE $@ && $(firstword $^) $@ $(wordlist 2, 999, $^)
-CC_CMD = @ echo CC $@ && $(CC) -o $@ -c $< $(CFLAGS)
-LD_CMD = @ echo LD $@ && $(CC) -o $@ $^ $(LDFLAGS) $(LIBS)
-AR_CMD = @ echo AR $@ && rm -f $@ && $(AR) cru $@ $^
+GENFILE_CMD = @ echo " GENFILE" $@ && $(firstword $^) $@ $(wordlist 2, 999, $^)
+CC_CMD = @ echo " CC" $@ && $(CC) -o $@ -c $< $(CFLAGS)
+LD_CMD = @ echo " LD" $@ && $(CC) -o $@ $^ $(LDFLAGS) $(LIBS)
+AR_CMD = @ echo " AR" $@ && rm -f $@ && $(AR) cru $@ $^
endif
@@ -87,7 +87,6 @@ FITZ_SRC := \
fitz/crypt_md5.c \
fitz/crypt_sha2.c \
fitz/dev_bbox.c \
- fitz/dev_draw.c \
fitz/dev_list.c \
fitz/dev_null.c \
fitz/dev_text.c \
@@ -120,6 +119,7 @@ DRAW_SRC := $(DRAW_ARCH_SRC) \
draw/arch_port.c \
draw/draw_affine.c \
draw/draw_blend.c \
+ draw/draw_device.c \
draw/draw_edge.c \
draw/draw_glyph.c \
draw/draw_mesh.c \
@@ -312,14 +312,26 @@ CMAP_OBJ := $(CMAP_SRC:$(GENDIR)/%.c=$(OBJDIR)/%.o)
# Library
#
+FITZ_LIB = $(OBJDIR)/libfitz.a
+$(FITZ_LIB): $(FITZ_OBJ) $(DRAW_OBJ)
+ $(AR_CMD)
+
+DATA_LIB = $(OBJDIR)/libmupdfdata.a
+$(DATA_LIB): $(CMAP_OBJ) $(FONT_OBJ)
+ $(AR_CMD)
+
MUPDF_LIB = $(OBJDIR)/libmupdf.a
-$(MUPDF_LIB): $(FITZ_OBJ) $(DRAW_OBJ) $(MUPDF_OBJ) $(CMAP_OBJ) $(FONT_OBJ)
+$(MUPDF_LIB): $(MUPDF_OBJ)
$(AR_CMD)
MUXPS_LIB = $(OBJDIR)/libmuxps.a
-$(MUXPS_LIB): $(FITZ_OBJ) $(DRAW_OBJ) $(MUXPS_OBJ)
+$(MUXPS_LIB): $(MUXPS_OBJ)
$(AR_CMD)
+ALL_LIBS = $(MUXPS_LIB) $(MUPDF_LIB) $(DATA_LIB) $(FITZ_LIB)
+PDF_LIBS = $(MUPDF_LIB) $(DATA_LIB) $(FITZ_LIB)
+XPS_LIBS = $(MUXPS_LIB) $(FITZ_LIB)
+
#
# Applications
#
@@ -339,42 +351,42 @@ PDFSHOW_SRC=apps/pdfshow.c
PDFSHOW_OBJ=$(PDFSHOW_SRC:apps/%.c=$(OBJDIR)/%.o)
PDFSHOW_EXE=$(OBJDIR)/pdfshow
$(PDFSHOW_OBJ): $(MUPDF_HDR) $(FITZ_HDR)
-$(PDFSHOW_EXE): $(PDFSHOW_OBJ) $(MUPDF_LIB) $(THIRD_LIBS)
+$(PDFSHOW_EXE): $(PDFSHOW_OBJ) $(PDF_LIBS) $(THIRD_LIBS)
$(LD_CMD)
PDFCLEAN_SRC=apps/pdfclean.c
PDFCLEAN_OBJ=$(PDFCLEAN_SRC:apps/%.c=$(OBJDIR)/%.o)
PDFCLEAN_EXE=$(OBJDIR)/pdfclean
$(PDFCLEAN_OBJ): $(MUPDF_HDR) $(FITZ_HDR)
-$(PDFCLEAN_EXE): $(PDFCLEAN_OBJ) $(MUPDF_LIB) $(THIRD_LIBS)
+$(PDFCLEAN_EXE): $(PDFCLEAN_OBJ) $(PDF_LIBS) $(THIRD_LIBS)
$(LD_CMD)
PDFDRAW_SRC=apps/pdfdraw.c
PDFDRAW_OBJ=$(PDFDRAW_SRC:apps/%.c=$(OBJDIR)/%.o)
PDFDRAW_EXE=$(OBJDIR)/pdfdraw
$(PDFDRAW_OBJ): $(MUPDF_HDR) $(FITZ_HDR)
-$(PDFDRAW_EXE): $(PDFDRAW_OBJ) $(MUPDF_LIB) $(THIRD_LIBS)
+$(PDFDRAW_EXE): $(PDFDRAW_OBJ) $(PDF_LIBS) $(THIRD_LIBS)
$(LD_CMD)
PDFEXTRACT_SRC=apps/pdfextract.c
PDFEXTRACT_OBJ=$(PDFEXTRACT_SRC:apps/%.c=$(OBJDIR)/%.o)
PDFEXTRACT_EXE=$(OBJDIR)/pdfextract
$(PDFEXTRACT_OBJ): $(MUPDF_HDR) $(FITZ_HDR)
-$(PDFEXTRACT_EXE): $(PDFEXTRACT_OBJ) $(MUPDF_LIB) $(THIRD_LIBS)
+$(PDFEXTRACT_EXE): $(PDFEXTRACT_OBJ) $(PDF_LIBS) $(THIRD_LIBS)
$(LD_CMD)
PDFINFO_SRC=apps/pdfinfo.c
PDFINFO_OBJ=$(PDFINFO_SRC:apps/%.c=$(OBJDIR)/%.o)
PDFINFO_EXE=$(OBJDIR)/pdfinfo
$(PDFINFO_OBJ): $(MUPDF_HDR) $(FITZ_HDR)
-$(PDFINFO_EXE): $(PDFINFO_OBJ) $(MUPDF_LIB) $(THIRD_LIBS)
+$(PDFINFO_EXE): $(PDFINFO_OBJ) $(PDF_LIBS) $(THIRD_LIBS)
$(LD_CMD)
XPSDRAW_SRC=apps/xpsdraw.c
XPSDRAW_OBJ=$(XPSDRAW_SRC:apps/%.c=$(OBJDIR)/%.o)
XPSDRAW_EXE=$(OBJDIR)/xpsdraw
$(XPSDRAW_OBJ): $(MUXPS_HDR) $(FITZ_HDR)
-$(XPSDRAW_EXE): $(XPSDRAW_OBJ) $(MUXPS_LIB) $(THIRD_LIBS)
+$(XPSDRAW_EXE): $(XPSDRAW_OBJ) $(XPS_LIBS) $(THIRD_LIBS)
$(LD_CMD)
PDFAPP_HDR = apps/pdfapp.h
@@ -384,7 +396,7 @@ X11VIEW_OBJ=$(X11VIEW_SRC:apps/%.c=$(OBJDIR)/%.o)
X11VIEW_EXE=$(OBJDIR)/mupdf
$(X11VIEW_OBJ): $(PDFAPP_HDR) $(MUPDF_HDR) $(MUXPS_HDR) $(FITZ_HDR)
-$(X11VIEW_EXE): $(X11VIEW_OBJ) $(MUPDF_LIB) $(MUXPS_LIB) $(THIRD_LIBS)
+$(X11VIEW_EXE): $(X11VIEW_OBJ) $(ALL_LIBS) $(THIRD_LIBS)
$(LD_CMD) $(X11LIBS)
WINVIEW_SRC=apps/win_main.c apps/pdfapp.c
@@ -396,7 +408,7 @@ $(OBJDIR)/%.o: apps/%.rc
$(WINDRES) -i $< -o $@ --include-dir=apps
$(WINVIEW_OBJ): $(PDFAPP_HDR) $(MUPDF_HDR) $(MUXPS_HDR) $(FITZ_HDR)
-$(WINVIEW_EXE): $(WINVIEW_OBJ) $(MUPDF_LIB) $(MUXPS_LIB) $(THIRD_LIBS)
+$(WINVIEW_EXE): $(WINVIEW_OBJ) $(ALL_LIBS) $(THIRD_LIBS)
$(LD_CMD) $(W32LIBS)
#
@@ -405,7 +417,7 @@ $(WINVIEW_EXE): $(WINVIEW_OBJ) $(MUPDF_LIB) $(MUXPS_LIB) $(THIRD_LIBS)
.PHONY: default all pregen clean nuke install
-all: $(OBJDIR) $(GENDIR) $(THIRD_LIBS) $(MUPDF_LIB) $(APPS)
+all: $(OBJDIR) $(GENDIR) $(THIRD_LIBS) $(FITZ_LIB) $(DATA_LIB) $(MUPDF_LIB) $(MUXPS_LIB) $(APPS)
clean:
rm -rf $(OBJDIR)/*
diff --git a/Makethird b/Makethird
index d74f1176..c58af8e1 100644
--- a/Makethird
+++ b/Makethird
@@ -4,12 +4,73 @@
# static libraries. Download and unzip the the mupdf-thirdparty.zip archive
# in the source directory.
-jbig2dec_dir := $(wildcard thirdparty/jbig2dec*)
-openjpeg_dir := $(wildcard thirdparty/openjpeg*/libopenjpeg)
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 -Iwin32 \
+ '-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)
@@ -40,45 +101,6 @@ $(OBJDIR)/%.o: $(jbig2dec_dir)/%.c
endif
-ifneq "$(openjpeg_dir)" ""
-
-THIRD_LIBS += $(OPENJPEG_LIB)
-THIRD_INCS += -I$(openjpeg_dir)
-LIBS := $(filter-out -lopenjpeg, $(LIBS))
-
-# opj_config.h does not exist in the pristine source
-$(OBJDIR)/opj_config.h:
- cp $(openjpeg_dir)/../opj_config.h.in.user $@
-
-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_OBJ): $(OBJDIR)/opj_config.h
-$(OPENJPEG_LIB): $(OPENJPEG_OBJ)
- $(AR_CMD)
-$(OBJDIR)/opj_%.o: $(openjpeg_dir)/%.c
- $(CC_CMD) -I$(OBJDIR) -DOPJ_STATIC
-
-endif
-
ifneq "$(jpeg_dir)" ""
THIRD_LIBS += $(JPEG_LIB)
@@ -131,6 +153,45 @@ $(OBJDIR)/jpeg_%.o: $(jpeg_dir)/%.c
endif
+ifneq "$(openjpeg_dir)" ""
+
+THIRD_LIBS += $(OPENJPEG_LIB)
+THIRD_INCS += -I$(openjpeg_dir)
+LIBS := $(filter-out -lopenjpeg, $(LIBS))
+
+# opj_config.h does not exist in the pristine source
+$(OBJDIR)/opj_config.h:
+ cp $(openjpeg_dir)/../opj_config.h.in.user $@
+
+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_OBJ): $(OBJDIR)/opj_config.h
+$(OPENJPEG_LIB): $(OPENJPEG_OBJ)
+ $(AR_CMD)
+$(OBJDIR)/opj_%.o: $(openjpeg_dir)/%.c
+ $(CC_CMD) -I$(OBJDIR) -DOPJ_STATIC
+
+endif
+
ifneq "$(zlib_dir)" ""
THIRD_LIBS += $(ZLIB_LIB)
@@ -156,64 +217,3 @@ $(OBJDIR)/zlib_%.o: $(zlib_dir)/%.c
$(CC_CMD)
endif
-
-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 -Iwin32 \
- '-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
diff --git a/fitz/dev_draw.c b/draw/draw_device.c
index 05f96f28..05f96f28 100644
--- a/fitz/dev_draw.c
+++ b/draw/draw_device.c