diff options
author | Tor Andersson <tor@ghostscript.com> | 2010-06-15 15:17:47 +0200 |
---|---|---|
committer | Tor Andersson <tor@ghostscript.com> | 2010-06-15 15:17:47 +0200 |
commit | 7d5d5d8c77f6047113d762017fd829bd668f5b5e (patch) | |
tree | 84bf1d75254cbd96ff349a6ab1fa6b0a620bf9ba | |
parent | 1746eaca2a013e39b29c4036caec88c3a0ba92d5 (diff) | |
download | mupdf-7d5d5d8c77f6047113d762017fd829bd668f5b5e.tar.xz |
Rearrange in Makerules and Makethird to remove cyclical dependencies.
-rw-r--r-- | Makefile | 30 | ||||
-rw-r--r-- | Makerules | 39 | ||||
-rw-r--r-- | Makethird | 13 | ||||
-rw-r--r-- | fitz/fitz_base.h | 4 |
4 files changed, 49 insertions, 37 deletions
@@ -1,6 +1,6 @@ # GNU Makefile for MuPDF # -# make build=release prefix=/usr/local install +# make build=release prefix=/usr/local verbose=true install # default: all @@ -21,27 +21,31 @@ ifneq "$(pregen)" "" GENDIR := $(pregen) endif -# Compiler flags and configuration options are kept in a separate file. -# This file includes some tests based on variables set by Makethird. +# Compiler flags and configuration options are kept in Makerules. +# Thirdparty libs will be built by Makethird if the thirdparty +# directory exists. --include Makerules - -# Include makefile for third party libraries. -# They will only be built if the thirdparty directory exists. -# This changes some variables initially set in Makerules. +LIBS := -lfreetype -ljbig2dec -lopenjpeg -ljpeg -lz -lm +-include Makerules -include Makethird +CFLAGS += $(THIRD_INCS) $(SYS_FREETYPE_INC) +LDFLAGS += $(SYS_FREETYPE_LIB) + # # Build commands # -CFLAGS += $(THIRD_INCS) +SILENT := @ +ifneq "$(verbose)" "" +SILENT := +endif -GENFILE_CMD = @ echo GENFILE $@ && $(firstword $^) $@ $(wordlist 2, 999, $^) -CC_CMD = @ echo CC $@ && $(CC) -o $@ -c $< $(CFLAGS) -LD_CMD = @ echo LD $@ && $(LD) -o $@ $^ $(LDFLAGS) $(LIBS) -AR_CMD = @ echo AR $@ && $(AR) cru $@ $^ +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 $@ $^ # # Directories @@ -3,12 +3,11 @@ OS := $(shell uname) OS := $(OS:MINGW%=MINGW) -LIBS := -lfreetype -ljbig2dec -lopenjpeg -ljpeg -lz -lm -CFLAGS := -Wall --std=gnu99 -Ifitz -Imupdf -LDFLAGS = -CC = cc -LD = $(CC) -AR = ar +CFLAGS := -Wall -Ifitz -Imupdf +LDFLAGS := +CC := cc +LD := $(CC) +AR := ar ifeq "$(build)" "debug" CFLAGS += -g -O0 @@ -19,36 +18,38 @@ CFLAGS += -O3 endif ifeq "$(OS)" "Linux" -ifeq "$(freetype_dir)" "" -CFLAGS += `pkg-config --cflags freetype2` -LDFLAGS += `pkg-config --libs freetype2` -endif -X11LIBS = -lX11 -lXext +SYS_FREETYPE_INC := `pkg-config --cflags freetype2` +SYS_FREETYPE_LIB := `pkg-config --libs freetype2` + +X11LIBS := -lX11 -lXext PDFVIEW_EXE = $(X11VIEW_EXE) + ifeq "$(build)" "release" CFLAGS += -mmmx -ftree-vectorize -msse -msse2 -march=k8 -DARCH_X86 ARCH_SRC = archx86.c endif + endif ifeq "$(OS)" "Darwin" -CFLAGS += -I$(HOME)/include -I/usr/X11R6/include -LDFLAGS += -L$(HOME)/lib -L/usr/X11R6/lib -ifeq "$(freetype_dir)" "" -CFLAGS += -I/usr/X11R6/include/freetype2 -endif -X11LIBS = -lX11 -lXext +SYS_FREETYPE_INC := -I/usr/X11R6/include/freetype2 +CFLAGS += -I/usr/X11R6/include +LDFLAGS += -L/usr/X11R6/lib + +X11LIBS := -lX11 -lXext PDFVIEW_EXE = $(X11VIEW_EXE) + ifeq "$(build)" "release" CFLAGS += -DARCH_X86_64 -ARCH_SRC = archx86.c +ARCH_SRC := archx86.c endif + endif # MinGW build depends on thirdparty ifeq "$(OS)" "MINGW" CC = gcc -W32LIBS = -lgdi32 -lcomdlg32 -luser32 -ladvapi32 -lshell32 -mwindows +W32LIBS := -lgdi32 -lcomdlg32 -luser32 -ladvapi32 -lshell32 -mwindows PDFVIEW_EXE = $(WINVIEW_EXE) endif @@ -14,7 +14,7 @@ ifneq "$(jbig2dec_dir)" "" THIRD_LIBS += $(JBIG2DEC_LIB) THIRD_INCS += -I$(jbig2dec_dir) -LIBS := $(filter-out $(LIBS), -ljbig2dec) +LIBS := $(filter-out -ljbig2dec, $(LIBS)) JBIG2DEC_SRC=$(addprefix $(jbig2dec_dir)/, \ jbig2.c jbig2_arith.c jbig2_arith_int.c jbig2_arith_iaid.c \ @@ -35,7 +35,7 @@ ifneq "$(openjpeg_dir)" "" THIRD_LIBS += $(OPENJPEG_LIB) THIRD_INCS += -I$(openjpeg_dir) -LIBS := $(filter-out $(LIBS), -lopenjpeg) +LIBS := $(filter-out -lopenjpeg, $(LIBS)) OPENJPEG_SRC=$(addprefix $(openjpeg_dir)/, \ bio.c cio.c dwt.c event.c image.c \ @@ -55,7 +55,7 @@ ifneq "$(jpeg_dir)" "" THIRD_LIBS += $(JPEG_LIB) THIRD_INCS += -I$(jpeg_dir) -LIBS := $(filter-out $(LIBS), -ljpeg) +LIBS := $(filter-out -ljpeg, $(LIBS)) JPEG_SRC=$(addprefix $(jpeg_dir)/, \ jaricom.c jcapimin.c jcapistd.c jcarith.c jccoefct.c jccolor.c \ @@ -79,7 +79,7 @@ ifneq "$(zlib_dir)" "" THIRD_LIBS += $(ZLIB_LIB) THIRD_INCS += -I$(zlib_dir) -LIBS := $(filter-out $(LIBS), -lz) +LIBS := $(filter-out -lz, $(LIBS)) ZLIB_SRC=$(addprefix $(zlib_dir)/, \ adler32.c compress.c crc32.c deflate.c \ @@ -98,7 +98,10 @@ ifneq "$(freetype_dir)" "" THIRD_LIBS += $(FREETYPE_LIB) THIRD_INCS += -I$(freetype_dir)/include -LIBS := $(filter-out $(LIBS), -lfreetype) +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/fitz/fitz_base.h b/fitz/fitz_base.h index 7cdfa70c..b6ca40c4 100644 --- a/fitz/fitz_base.h +++ b/fitz/fitz_base.h @@ -53,6 +53,10 @@ extern int gettimeofday(struct timeval *tv, struct timezone *tz); #else /* C99 or close enough */ +#ifdef __GNUC__ +#define restrict __restrict +#endif + #include <unistd.h> #endif |