PREFIX=/usr/local/zimg PWP=$(shell pwd) ARCH=$(shell getconf LONG_BIT) SYSTEM=$(shell uname -s) ifeq ($(ARCH),32) cflag32=--host i686-pc-linux-gnu CFLAGS='-O3 -m32' LDFLAGS=-m32 endif libjpeg-turbo=./deps/libjpeg-turbo/.libs/libjpeg.a libwebp=./deps/libwebp/src/.libs/libwebp.a libimagickwand=./deps/ImageMagick/wand/.libs/libMagickWand-6.Q8.a libluajit=./deps/LuaJIT/src/libluajit.a ifeq ($(SYSTEM),Darwin) deps=$(libluajit) else deps=$(libjpeg-turbo) $(libwebp) $(libimagickwand) $(libluajit) endif all: $(deps) mkdir -p build/zimg cd build/zimg; cmake $(PWD)/src; make -j 4; cp zimg $(PWD)/bin debug: $(deps) mkdir -p build/zimg cd build/zimg; cmake -DCMAKE_BUILD_TYPE=Debug $(PWD)/src; make; cp zimg $(PWD)/bin $(libjpeg-turbo): cd deps; mkdir libjpeg-turbo; tar zxvf libjpeg-turbo-*.tar.gz -C libjpeg-turbo --strip-components 1; cd libjpeg-turbo; autoreconf -fiv; ./configure --enable-shared=no --enable-static=yes $(cflag32); make -j 4 $(libwebp): cd deps; mkdir libwebp; tar zxvf libwebp-*.tar.gz -C libwebp --strip-components 1; cd libwebp; ./autogen.sh; ./configure --enable-shared=no --enable-static=yes --with-jpegincludedir=$(PWD)/deps/libjpeg-turbo --with-jpeglibdir=$(PWD)/deps/libjpeg-turbo/.libs; make -j 4 $(libimagickwand): cd deps; mkdir ImageMagick; tar zxf ImageMagick-*.tar.gz -C ImageMagick --strip-components 1; cd ImageMagick; ./configure --disable-dependency-tracking --disable-openmp --disable-shared --without-magick-plus-plus --without-fftw --without-fpx --without-djvu --without-fontconfig --without-freetype --without-gslib --without-gvc --without-jbig --without-lcms --without-openjp2 --without-lqr --without-lzma --without-openexr --without-pango --without-rsvg --without-tiff --without-bzlib --without-wmf --without-xml --without-dps --without-x --enable-delegate-build --with-quantum-depth=8 "CFLAGS=-I$(PWD)/deps/libjpeg-turbo -I$(PWD)/deps/libwebp/src" "LDFLAGS=-L$(PWD)/deps/libjpeg-turbo/.libs -ljpeg -L$(PWD)/deps/libwebp/src/.libs -lwebp"; make -j 4 $(libluajit): cd deps; mkdir LuaJIT; tar zxf LuaJIT-*.tar.gz -C LuaJIT --strip-components 1; cd LuaJIT; make -j 4 clean: rm -rf build rm bin/zimg cleanall: rm -rf build rm -f bin/zimg rm -rf deps/libjpeg-turbo rm -rf deps/libwebp rm -rf deps/ImageMagick rm -rf deps/LuaJIT