diff options
-rw-r--r-- | Makefile | 50 | ||||
-rw-r--r-- | Makerules | 11 | ||||
-rw-r--r-- | Makethird | 1 | ||||
-rw-r--r-- | mupdf/pdf_open.c | 2 |
4 files changed, 27 insertions, 37 deletions
@@ -11,6 +11,11 @@ prefix ?= /usr/local OBJDIR := build/$(build) GENDIR := build/generated +$(OBJDIR): + mkdir -p $@ +$(GENDIR): + mkdir -p $@ + # If no pregen directory is supplied, then generate (dump) the # font and cmap .c files as part of the build. # If it is supplied, then just use the files from that directory. @@ -27,34 +32,30 @@ endif LIBS := -lfreetype -ljbig2dec -lopenjpeg -ljpeg -lz -lm --include Makerules --include Makethird +include Makerules +include Makethird CFLAGS += $(THIRD_INCS) $(SYS_FREETYPE_INC) -LDFLAGS += $(SYS_FREETYPE_LIB) # # Build commands # -SILENT := @ ifneq "$(verbose)" "" -SILENT := -endif -GENFILE_CMD = $(SILENT) echo GENFILE $@ && $(firstword $^) $@ $(wordlist 2, 999, $^) -CC_CMD = $(SILENT) echo CC $@ && $(CC) -o $@ -c $< $(CFLAGS) -LD_CMD = $(SILENT) echo LD $@ && $(LD) -o $@ $^ $(LDFLAGS) $(LIBS) -AR_CMD = $(SILENT) echo AR $@ && $(AR) cru $@ $^ +GENFILE_CMD = $(firstword $^) $@ $(wordlist 2, 999, $^) +CC_CMD = $(CC) -o $@ -c $< $(CFLAGS) +LD_CMD = $(CC) -o $@ $^ $(LDFLAGS) $(LIBS) +AR_CMD = ar cru $@ $^ -# -# Directories -# +else -DIRS = $(OBJDIR) $(GENDIR) +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 $@ && ar cru $@ $^ -$(DIRS): - mkdir -p $@ +endif # # Code generation tools @@ -220,6 +221,7 @@ FONT_SRC := \ FONT_OBJ := $(FONT_SRC:$(GENDIR)/%.c=$(OBJDIR)/%.o) + # # Generated CMap file dumps # @@ -370,20 +372,12 @@ $(WINVIEW_EXE): $(WINVIEW_OBJ) $(MUPDF_LIB) $(THIRD_LIBS) $(LD_CMD) $(W32LIBS) # -# Installation and tarball packaging -# - -dist: $(DIRS) $(APPS) - mkdir -p mupdf-dist - cp README COPYING $(APPS) mupdf-dist - tar cvf mupdf-dist.tar mupdf-dist - rm -rf mupdf-dist - -# # Default rules # -all: $(DIRS) $(THIRD_LIBS) $(MUPDF_LIB) $(APPS) +.PHONY: default all pregen clean nuke install + +all: $(OBJDIR) $(GENDIR) $(THIRD_LIBS) $(MUPDF_LIB) $(APPS) clean: rm -rf $(OBJDIR)/* @@ -391,7 +385,7 @@ clean: nuke: rm -rf build -install: $(DIRS) $(APPS) $(MUPDF_LIB) +install: $(OBJDIR) $(GENDIR) $(MUPDF_LIB) $(APPS) install -d $(prefix)/bin $(prefix)/lib $(prefix)/include install $(APPS) $(prefix)/bin install $(MUPDF_LIB) $(prefix)/lib @@ -3,11 +3,9 @@ OS := $(shell uname) OS := $(OS:MINGW%=MINGW) +CC ?= cc CFLAGS := -Ifitz -Imupdf -Wall LDFLAGS := -CC := cc -LD := $(CC) -AR := ar ifeq "$(build)" "debug" CFLAGS += -pipe -g @@ -23,18 +21,17 @@ endif ifeq "$(OS)" "Linux" SYS_FREETYPE_INC := `pkg-config --cflags freetype2` -SYS_FREETYPE_LIB := `pkg-config --libs freetype2` X11LIBS := -lX11 -lXext PDFVIEW_EXE = $(X11VIEW_EXE) endif ifeq "$(OS)" "FreeBSD" SYS_FREETYPE_INC := `pkg-config --cflags freetype2` -SYS_FREETYPE_LIB := `pkg-config --libs freetype2` X11LIBS := -lX11 -lXext PDFVIEW_EXE = $(X11VIEW_EXE) endif +# Mac OS X build depends on some thirdparty libs ifeq "$(OS)" "Darwin" SYS_FREETYPE_INC := -I/usr/X11R6/include/freetype2 CFLAGS += -I/usr/X11R6/include @@ -50,9 +47,9 @@ LDFLAGS += -m32 endif endif -# MinGW build depends on thirdparty +# MinGW build depends on thirdparty libs ifeq "$(OS)" "MINGW" -CC = gcc +CC := gcc W32LIBS := -lgdi32 -lcomdlg32 -luser32 -ladvapi32 -lshell32 -mwindows PDFVIEW_EXE = $(WINVIEW_EXE) endif @@ -174,7 +174,6 @@ THIRD_INCS += -I$(freetype_dir)/include LIBS := $(filter-out -lfreetype, $(LIBS)) SYS_FREETYPE_INC := -SYS_FREETYPE_LIB := FREETYPE_OBJ=$(addprefix $(OBJDIR)/ft_, \ autofit.o ftbase.o ftbbox.o ftbdf.o ftbitmap.o ftdebug.o ftgasp.o \ diff --git a/mupdf/pdf_open.c b/mupdf/pdf_open.c index 7e9727fe..4acac6e2 100644 --- a/mupdf/pdf_open.c +++ b/mupdf/pdf_open.c @@ -106,7 +106,7 @@ pdf_readoldtrailer(pdf_xref *xref, char *buf, int cap) return fz_rethrow(error, "cannot read xref count"); s = buf; - atoi(fz_strsep(&s, " ")); /* ignore ofs */ + fz_strsep(&s, " "); /* ignore ofs */ if (!s) return fz_throw("invalid range marker in xref"); len = atoi(fz_strsep(&s, " ")); |