Created
February 6, 2013 22:33
-
-
Save HarryR/4726522 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ifdef CROSS | |
DEP_BUILD =$(shell pwd)/../deps-build-$(CROSS) | |
DEP_ROOT =$(shell pwd)/../deps-root-$(CROSS) | |
else | |
DEP_BUILD =$(shell pwd)/../deps-build | |
DEP_ROOT =$(shell pwd)/../deps-root | |
endif | |
CONFIGURE_ENV=PKG_CONFIG_LIBDIR=$(DEP_ROOT)/lib/pkgconfig \ | |
CFLAGS=-I$(DEP_ROOT)/include \ | |
CXXFLAGS=-I$(DEP_ROOT)/include \ | |
LDFLAGS="-L$(DEP_ROOT)/lib" \ | |
INCLUDE_PATH=$(DEP_ROOT)/include \ | |
LIBRARY_PATH=$(DEP_ROOT)/lib \ | |
BINARY_PATH=$(DEP_ROOT)/bin | |
# ------------------------------------------------------------------------------ | |
JBIG_VER=2.0 | |
JBIG_TAR=jbigkit-$(JBIG_VER).tar.gz | |
JBIG_DIR=$(DEP_BUILD)/jbigkit | |
JBIG_URL=http://www.cl.cam.ac.uk/~mgk25/download/jbigkit-$(JBIG_VER).tar.gz | |
JBIG_LIB=$(DEP_ROOT)/lib/libjbig.a | |
# ------------------------------------------------------------------------------ | |
WEBP_VER=0.2.1 | |
WEBP_TAR=libwebp-$(WEBP_VER).tar.gz | |
WEBP_DIR=$(DEP_BUILD)/libwebp-$(WEBP_VER) | |
WEBP_URL=http://webp.googlecode.com/files/$(WEBP_TAR) | |
WEBP_LIB=$(DEP_ROOT)/lib/libwebp.a | |
WEBP_CONFIGURE=--disable-shared --prefix=$(DEP_ROOT) --disable-dependency-tracking | |
# ------------------------------------------------------------------------------ | |
CAIRO_VERSION=1.12.8 | |
CAIRO_TAR=cairo-$(CAIRO_VERSION).tar.xz | |
CAIRO_URL=http://www.cairographics.org/releases/$(CAIRO_TAR) | |
CAIRO_DIR=$(DEP_BUILD)/cairo-$(CAIRO_VERSION) | |
CAIRO_CFLAGS=-I$(CAIRO_DIR)/src/ | |
CAIRO_LIB=$(DEP_ROOT)/lib/libcairo.a | |
CAIRO_CONFIGURE=--enable-xlib=no --enable-xlib-xrender=no \ | |
--enable-xlib-xcb=no --enable-xcb=no --enable-xcb-shm=no \ | |
--enable-qt=no --enable-quartz=no --enable-quartz-font=no \ | |
--enable-quartz-image=no --enable-egl=no --enable-glx=no \ | |
--enable-wgl=no --enable-script=no --enable-ft=yes \ | |
--enable-fc=no --enable-ps=no --enable-pdf=no --enable-svg=no \ | |
--enable-gobject=no --enable-trace=no --enable-interpreter=no \ | |
--disable-dependency-tracking --disable-shared --prefix=$(DEP_ROOT) | |
# ------------------------------------------------------------------------------ | |
ZLIB_VERSION=1.2.7 | |
ZLIB_TAR=zlib-$(ZLIB_VERSION).tar.gz | |
ZLIB_URL=http://zlib.net/$(ZLIB_TAR) | |
ZLIB_DIR=$(DEP_BUILD)/zlib-$(ZLIB_VERSION) | |
ZLIB_LIB=$(DEP_ROOT)/lib/libz.a | |
ZLIB_CONFIGURE=--prefix=$(DEP_ROOT) | |
ZLIB_MAKEFLAGS= | |
# ------------------------------------------------------------------------------ | |
EXPAT_VERSION=2.1.0 | |
EXPAT_TAR=expat-$(EXPAT_VERSION).tar.gz | |
EXPAT_DIR=$(DEP_BUILD)/expat-$(EXPAT_VERSION) | |
EXPAT_URL=http://switch.dl.sourceforge.net/project/expat/expat/$(EXPAT_VERSION)/$(EXPAT_TAR) | |
EXPAT_LIB=$(DEP_ROOT)/lib/libexpat.a | |
EXPAT_CONFIGURE=--disable-dependency-tracking --disable-shared --prefix=$(DEP_ROOT) | |
EXPAT_MAKEFLAGS= | |
# ------------------------------------------------------------------------------ | |
OJPG_VER=1.5.1 | |
OJPG_TAR=openjpeg-$(OJPG_VER).tar.gz | |
OJPG_URL=http://openjpeg.googlecode.com/files/$(OJPG_TAR) | |
OJPG | |
# ------------------------------------------------------------------------------ | |
FT_DIR=$(DEP_BUILD)/freetype2 | |
FT_GIT=git://git.sv.gnu.org/freetype/freetype2.git | |
FT_REV=0e0fdc5dc89e5079898c5da67b56f994c439fee1 | |
FT_LIB=$(DEP_ROOT)/lib/libfreetype.a | |
FT_CONFIGURE=--disable-dependency-tracking --disable-shared --prefix=$(DEP_ROOT) | |
FT_MAKEFLAGS= | |
# ------------------------------------------------------------------------------ | |
FC_VERSION=2.10.91 | |
FC_TAR=fontconfig-$(FC_VERSION).tar.gz | |
FC_URL=http://www.freedesktop.org/software/fontconfig/release/$(FC_TAR) | |
FC_DIR=$(DEP_BUILD)/fontconfig-$(FC_VERSION) | |
FC_LIB=$(DEP_ROOT)/lib/libfontconfig.a | |
FC_CONFIGURE=--disable-docs --disable-shared --prefix=$(DEP_ROOT) --disable-dependency-tracking | |
FC_MAKEFLAGS= | |
# ------------------------------------------------------------------------------ | |
PIXMAN_VERSION=0.28.2 | |
PIXMAN_TAR=pixman-$(PIXMAN_VERSION).tar.gz | |
PIXMAN_URL=http://cairographics.org/releases/$(PIXMAN_TAR) | |
PIXMAN_DIR=$(DEP_BUILD)/pixman-$(PIXMAN_VERSION) | |
PIXMAN_LIB=$(DEP_ROOT)/lib/libpixman-1.a | |
PIXMAN_CONFIGURE=--disable-gtk --disable-dependency-tracking --enable-libpng \ | |
--disable-shared --prefix=$(DEP_ROOT) | |
PIXMAN_MAKEFLAGS= | |
# ------------------------------------------------------------------------------ | |
LCMS_VER=1.19 | |
LCMS_TAR=lcms-$(LCMS_VER).tar.gz | |
LCMS_URL=http://switch.dl.sourceforge.net/project/lcms/lcms/1.19/$(LCMS_TAR) | |
LCMS_DIR=$(DEP_BUILD)/lcms-$(LCMS_VER) | |
LCMS_LIB=$(DEP_ROOT)/lib/liblcms.a | |
LCMS_CONFIGURE=--disable-dependency-tracking --disable-shared --prefix=$(DEP_ROOT) | |
LCMS_MAKEFLAGS= | |
# ------------------------------------------------------------------------------ | |
PNG_VER=1.2.50 | |
PNG_TAR=libpng-$(PNG_VER).tar.bz2 | |
PNG_URL=http://switch.dl.sourceforge.net/project/libpng/libpng12/$(PNG_VER)/$(PNG_TAR) | |
PNG_DIR=$(DEP_BUILD)/libpng-$(PNG_VER) | |
PNG_LIB=$(DEP_ROOT)/lib/libpng12.a | |
PNG_CONFIGURE=--disable-dependency-tracking --disable-shared --prefix=$(DEP_ROOT) | |
PNG_MAKEFLAGS= | |
# ------------------------------------------------------------------------------ | |
JPEG_VER=8d | |
JPEG_TAR=jpegsrc.v$(JPEG_VER).tar.gz | |
JPEG_URL=http://www.ijg.org/files/$(JPEG_TAR) | |
JPEG_DIR=$(DEP_BUILD)/jpeg-$(JPEG_VER) | |
JPEG_LIB=$(DEP_ROOT)/lib/libjpeg.a | |
JPEG_CONFIGURE=--disable-dependency-tracking --disable-shared --prefix=$(DEP_ROOT) | |
JPEG_MAKEFLAGS= | |
# ------------------------------------------------------------------------------ | |
TIFF_VER=4.0.3 | |
TIFF_TAR=tiff-$(TIFF_VER).tar.gz | |
TIFF_URL=http://download.osgeo.org/libtiff/$(TIFF_TAR) | |
TIFF_DIR=$(DEP_BUILD)/tiff-$(TIFF_VER) | |
TIFF_LIB=$(DEP_ROOT)/lib/libtiff.a | |
TIFF_CONFIGURE=--disable-dependency-tracking --disable-shared --prefix=$(DEP_ROOT) | |
TIFF_MAKEFLAGS= | |
# ------------------------------------------------------------------------------ | |
POPPLER_VERSION=0.22.0 | |
POPPLER_TAR=poppler-$(POPPLER_VERSION).tar.gz | |
POPPLER_URL=http://poppler.freedesktop.org/$(POPPLER_TAR) | |
POPPLER_DIR=$(DEP_BUILD)/poppler-$(POPPLER_VERSION) | |
POPPLER_VERSION_MINOR=`cat $(POPPLER_BUILD_DIR)/config.h | grep PACKAGE_VERSION | cut -f 3 -d ' ' | sed -e 's/"//g' | cut -f 2 -d '.'` | |
POPPLER_LIB_DIR=$(POPPLER_DIR)/poppler/.libs | |
POPPLER_LIB=$(POPPLER_LIB_DIR)/libpoppler.a | |
POPPLER_LIBS=$(POPPLER_DIR)/poppler/CairoOutputDev.o \ | |
$(POPPLER_DIR)/poppler/CairoFontEngine.o \ | |
$(POPPLER_DIR)/poppler/CairoRescaleBox.o \ | |
$(POPPLER_LIB) | |
POPPLER_CONFIGURE=--enable-zlib --disable-libopenjpeg --disable-poppler-glib \ | |
--disable-gtk-test --disable-poppler-qt4 \ | |
--disable-poppler-cpp --disable-utils \ | |
--disable-dependency-tracking --disable-shared \ | |
--prefix=$(DEP_ROOT) | |
POPPLER_MAKEFLAGS= | |
# ------------------------------------------------------------------------------ | |
ifdef CROSS | |
# Configure flags for cross-compilation | |
POPPLER_CONFIGURE += --host=$(CROSS_HOST) | |
TIFF_CONFIGURE += --host=$(CROSS_HOST) | |
JPEG_CONFIGURE += --host=$(CROSS_HOST) | |
PNG_CONFIGURE += --host=$(CROSS_HOST) | |
LCMS_CONFIGURE += --host=$(CROSS_HOST) | |
PIXMAN_CONFIGURE += --host=$(CROSS_HOST) | |
FC_CONFIGURE += --host=$(CROSS_HOST) | |
FT_CONFIGURE += --host=$(CROSS_HOST) | |
CAIRO_CONFIGURE += --host=$(CROSS_HOST) | |
EXPAT_CONFIGURE += --host=$(CROSS_HOST) | |
WEBP_CONFIGURE += --host=$(CROSS_HOST) | |
# Make flags for cross compilation | |
ZLIB_MAKEFLAGS=CC=$(CROSS_HOST)-gcc LDSHARED="$(CROSS_HOST)-gcc -shared" LDSHAREDLIBC= AR=$(CROSS_HOST)-ar RANLIB=$(CROSS_HOST)-ranlib | |
endif | |
# ------------------------------------------------------------------------------ | |
DEPENDENCIES = $(CAIRO_LIB) $(JBIG_LIB) $(POPPLER_LIB) $(FT_LIB) $(PNG_LIB) $(JPEG_LIB) $(TIFF_LIB) $(ZLIB_LIB) $(WEBP_LIB) | |
ifndef WINBUILD | |
# FontConfig is only required on Linux | |
DEPENDENCIES += $(FC_LIB) | |
endif | |
dependencies: $(DEPENDENCIES) | |
$(DEP_BUILD): | |
mkdir -p $@ $@/include $@/bin $@/lib | |
$(DEP_ROOT): | |
mkdir -p $@ | |
.PHONY: clean-dependencies | |
clean-dependencies: | |
-rm -rf $(DEP_BUILD) $(DEP_ROOT) | |
# ------------------------------------------------------------------------------ | |
$(POPPLER_LIB): $(POPPLER_DIR) $(DEP_ROOT) $(TIFF_LIB) $(PNG_LIB) $(JPEG_LIB) $(LCMS_LIB) | |
cd $(POPPLER_DIR) && \ | |
env $(CONFIGURE_ENV) sh -c './configure $(POPPLER_CONFIGURE)' | |
make $(MAKEFLAGS) -C $(POPPLER_DIR) install | |
$(POPPLER_DIR): $(DEP_BUILD)/$(POPPLER_TAR) | |
if [ ! -d $(POPPLER_DIR) ]; then \ | |
cd $(DEP_BUILD) && tar -xf $(POPPLER_TAR) ; \ | |
fi | |
$(DEP_BUILD)/$(POPPLER_TAR): $(DEP_BUILD) | |
wget -cq -O $@ $(POPPLER_URL) | |
# ------------------------------------------------------------------------------ | |
# On msys Zlib requires us to use their 'Makefile.gcc' | |
# When cross-compiling the ./configure script works fine... | |
$(ZLIB_LIB): $(ZLIB_DIR) $(DEP_ROOT) | |
ifdef WINBUILD | |
cd $(ZLIB_DIR) && env $(CONFIGURE_ENV) sh -c 'make -f win32/Makefile.gcc prefix=$(DEP_ROOT) install' | |
else | |
cd $(ZLIB_DIR) && ./configure $(ZLIB_CONFIGURE) | |
make $(MAKEFLAGS) -C $(ZLIB_DIR) install $(ZLIB_MAKEFLAGS) | |
endif | |
$(ZLIB_DIR): $(DEP_BUILD)/$(ZLIB_TAR) | |
if [ ! -d $(ZLIB_DIR) ]; then \ | |
cd $(DEP_BUILD) && tar -xf $(ZLIB_TAR) ; \ | |
fi | |
$(DEP_BUILD)/$(ZLIB_TAR): $(DEP_BUILD) | |
wget -cq -O $@ $(ZLIB_URL) | |
# ------------------------------------------------------------------------------ | |
# expat is required for fontconfig | |
$(EXPAT_LIB): $(EXPAT_DIR) $(DEP_ROOT) | |
cd $(EXPAT_DIR) && \ | |
env $(CONFIGURE_ENV) sh -c './configure $(EXPAT_CONFIGURE)' | |
make $(MAKEFLAGS) -C $(EXPAT_DIR) install $(EXPAT_MAKEFLAGS) | |
$(EXPAT_DIR): $(DEP_BUILD)/$(EXPAT_TAR) | |
if [ ! -d $(EXPAT_DIR) ]; then \ | |
cd $(DEP_BUILD) && tar -xf $(EXPAT_TAR) ; \ | |
fi | |
$(DEP_BUILD)/$(EXPAT_TAR): $(DEP_BUILD) | |
wget -cq -O $@ $(EXPAT_URL) | |
# ------------------------------------------------------------------------------ | |
$(WEBP_LIB): $(WEBP_DIR) $(DEP_ROOT) | |
cd $(WEBP_DIR) && \ | |
env $(CONFIGURE_ENV) sh -c './configure $(WEBP_CONFIGURE)' | |
make $(MAKEFLAGS) -C $(WEBP_DIR) install | |
$(WEBP_DIR): $(DEP_BUILD)/$(WEBP_TAR) | |
if [ ! -d $(WEBP_DIR) ]; then \ | |
cd $(DEP_BUILD) && tar -xf $(WEBP_TAR) ; \ | |
fi | |
$(DEP_BUILD)/$(WEBP_TAR): $(DEP_BUILD) | |
wget -cq -O $@ $(WEBP_URL) | |
# ------------------------------------------------------------------------------ | |
$(PIXMAN_LIB): $(PIXMAN_DIR) $(DEP_ROOT) | |
cd $(PIXMAN_DIR) && \ | |
env $(CONFIGURE_ENV) PNG_LIBS=-lpng sh -c './configure $(PIXMAN_CONFIGURE)' | |
make $(MAKEFLAGS) -C $(PIXMAN_DIR) install | |
$(PIXMAN_DIR): $(DEP_BUILD)/$(PIXMAN_TAR) | |
if [ ! -d $(PIXMAN_DIR) ]; then \ | |
cd $(DEP_BUILD) && tar -xf $(PIXMAN_TAR) ; \ | |
fi | |
$(DEP_BUILD)/$(PIXMAN_TAR): $(DEP_BUILD) | |
wget -cq -O $@ $(PIXMAN_URL) | |
# ------------------------------------------------------------------------------ | |
$(FC_LIB): $(EXPAT_LIB) $(FC_DIR) $(DEP_ROOT) | |
cd $(FC_DIR) && \ | |
env $(CONFIGURE_ENV) sh -c './configure $(FC_CONFIGURE)' | |
make $(MAKEFLAGS) -C $(FC_DIR) install | |
$(FC_DIR): $(DEP_BUILD)/$(FC_TAR) | |
if [ ! -d $(FC_DIR) ]; then \ | |
cd $(DEP_BUILD) && tar -xf $(FC_TAR) ; \ | |
fi | |
$(DEP_BUILD)/$(FC_TAR): $(DEP_BUILD) | |
wget -cq -O $@ $(FC_URL) | |
# ------------------------------------------------------------------------------ | |
$(FT_LIB): $(FT_DIR) $(DEP_ROOT) | |
cd $(FT_DIR) && \ | |
env $(CONFIGURE_ENV) sh -c './autogen.sh && ./configure $(FT_CONFIGURE)' | |
make $(MAKEFLAGS) -C $(FT_DIR) install | |
$(FT_DIR): $(DEP_BUILD) | |
if [ ! -d $(FT_DIR) ]; then git clone $(FT_GIT) $(FT_DIR); fi | |
cd $(FT_DIR) && git checkout $(FT_REV) | |
# ------------------------------------------------------------------------------ | |
$(JBIG_LIB): $(JBIG_DIR) $(DEP_ROOT) | |
@make -C $(JBIG_DIR) $(MAKEFLAGS) | |
cp $(JBIG_DIR)/libjbig/libjbig.a $@ | |
$(JBIG_DIR): $(DEP_BUILD)/$(JBIG_TAR) | |
if [ ! -d $(JPEG_DIR) ]; then \ | |
cd $(DEP_BUILD) && tar -xf $(JBIG_TAR) ; \ | |
fi | |
$(DEP_BUILD)/$(JBIG_TAR): $(DEP_BUILD) | |
wget -cq -O $@ $(JBIG_URL) | |
# ------------------------------------------------------------------------------ | |
$(CAIRO_LIB): $(PNG_LIB) $(FT_LIB) $(PIXMAN_LIB) $(CAIRO_DIR) $(DEP_ROOT) | |
cd $(CAIRO_DIR) && \ | |
env $(CONFIGURE_ENV) sh -c './configure $(CAIRO_CONFIGURE)' | |
make $(MAKEFLAGS) -C $(CAIRO_DIR) install | |
$(CAIRO_DIR): $(DEP_BUILD)/$(CAIRO_TAR) | |
if [ ! -d $(CAIRO_DIR) ]; then \ | |
cd $(DEP_BUILD) && tar -xf $(CAIRO_TAR) ; \ | |
fi | |
$(DEP_BUILD)/$(CAIRO_TAR): $(DEP_BUILD) | |
wget -cq -O $@ -c $(CAIRO_URL) | |
# ------------------------------------------------------------------------------ | |
$(LCMS_LIB): $(LCMS_DIR) $(DEP_ROOT) | |
cd $(LCMS_DIR) && \ | |
env $(CONFIGURE_ENV) sh -c 'libtoolize && autoreconf && ./configure $(LCMS_CONFIGURE)' | |
make $(MAKEFLAGS) -C $(LCMS_DIR) install | |
$(LCMS_DIR): $(DEP_BUILD)/$(LCMS_TAR) | |
if [ ! -d $(LCMS_DIR) ]; then \ | |
cd $(DEP_BUILD) && tar -xf $(LCMS_TAR) ; \ | |
fi | |
$(DEP_BUILD)/$(LCMS_TAR): $(DEP_BUILD) | |
wget -cq -O $@ $(LCMS_URL) | |
# ------------------------------------------------------------------------------ | |
$(PNG_LIB): $(ZLIB_LIB) $(PNG_DIR) $(DEP_ROOT) | |
cd $(PNG_DIR) && \ | |
env $(CONFIGURE_ENV) sh -c './configure $(PNG_CONFIGURE)' | |
make $(MAKEFLAGS) -C $(PNG_DIR) install | |
$(PNG_DIR): $(DEP_BUILD)/$(PNG_TAR) | |
if [ ! -d $(PNG_DIR) ]; then \ | |
cd $(DEP_BUILD) && tar -xf $(PNG_TAR) ; \ | |
fi | |
$(DEP_BUILD)/$(PNG_TAR): $(DEP_BUILD) | |
wget -cq -O $@ $(PNG_URL) | |
# ------------------------------------------------------------------------------ | |
$(JPEG_LIB): $(JPEG_DIR) $(DEP_ROOT) | |
cd $(JPEG_DIR) && \ | |
env $(CONFIGURE_ENV) sh -c './configure $(JPEG_CONFIGURE)' | |
make $(MAKEFLAGS) -C $(JPEG_DIR) install | |
$(JPEG_DIR): $(DEP_BUILD)/$(JPEG_TAR) | |
if [ ! -d $(JPEG_DIR) ]; then \ | |
cd $(DEP_BUILD) && tar -xf $(JPEG_TAR) ; \ | |
fi | |
$(DEP_BUILD)/$(JPEG_TAR): $(DEP_BUILD) | |
wget -cq -O $@ $(JPEG_URL) | |
# ------------------------------------------------------------------------------ | |
$(TIFF_LIB): $(TIFF_DIR) $(DEP_ROOT) | |
cd $(TIFF_DIR) && \ | |
env $(CONFIGURE_ENV) sh -c './configure $(TIFF_CONFIGURE)' | |
make $(MAKEFLAGS) -C $(TIFF_DIR) install | |
$(TIFF_DIR): $(DEP_BUILD)/$(TIFF_TAR) | |
if [ ! -d $(TIFF_DIR) ]; then \ | |
cd $(DEP_BUILD) && tar -xf $(TIFF_TAR) ; \ | |
fi | |
$(DEP_BUILD)/$(TIFF_TAR): $(DEP_BUILD) | |
wget -cq -O $@ $(TIFF_URL) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment