Skip to content

Instantly share code, notes, and snippets.

@shawnsi
Last active December 13, 2015 17:28
Show Gist options
  • Save shawnsi/4947888 to your computer and use it in GitHub Desktop.
Save shawnsi/4947888 to your computer and use it in GitHub Desktop.
ImageMagick Makefile - Solaris 10
# Parallelization
CORES?=1
# Configure Command
PREFIX?=/usr/local
AS=${PREFIX}/bin/as
LD=${PREFIX}/bin/ld
CPPFLAGS=-I${PREFIX}/include
LDFLAGS=-L${PREFIX}/lib:/usr/lib -R${PREFIX}/lib:/usr/lib -lsocket
CONFIGURE=./configure --prefix=${PREFIX}
# Make Command
MAKE=make -j ${CORES}
# Source Directories
SRC_MAKE=make-3.82
SRC_LIBTOOL=libtool-2.4.2
SRC_LIBICONV=libiconv-1.14
SRC_BINUTILS=binutils-2.23
SRC_MPC=mpc-1.0.1
SRC_MPFR=mpfr-2.4.2
SRC_GMP=gmp-4.3.2
GCC_VERSION=4.4.7
SRC_GCC=gcc-${GCC_VERSION}
SRC_LCMS=lcms2-2.4
SRC_JASPER=jasper-1.900.1
SRC_JPEG=jpeg-8
SRC_PNG=libpng-1.4.12
SRC_TIFF=tiff-4.0.3
SRC_ZLIB=zlib-1.2.7
SRC_FREETYPE=freetype-2.4.10
SRC_GHOSTSCRIPT=ghostscript-9.06
SRC_IMAGEMAGICK=ImageMagick-6.8.2-10
# Source Commands
HTTP_GNU=http://ftp.gnu.org/gnu
WGET=wget --proxy
WGET_GNU=${WGET} ${HTTP_GNU}
# Environment Variables
PATH=${PREFIX}/bin:/usr/ccs/bin:/usr/sfw/bin:/usr/bin:/bin
all: toolchain gcc-deps gcc gcc-install imagemagick-deps imagemagick imagemagick-install
toolchain: make make-install binutils binutils-install libtool libtool-install libiconv libiconv-install
gcc-deps: gmp gmp-install mpfr mpfr-install mpc mpc-install
imagemagick-deps: zlib zlib-install freetype freetype-install jpeg jpeg-install jasper jasper-install png png-install tiff tiff-install lcms lcms-install ghostscript ghostscript-install
sources-gnu:
${WGET_GNU}/make/${SRC_MAKE}.tar.bz2
${WGET_GNU}/libtool/${SRC_LIBTOOL}.tar.gz
${WGET_GNU}/libiconv/${SRC_LIBICONV}.tar.gz
${WGET_GNU}/binutils/${SRC_BINUTILS}.tar.gz
${WGET_GNU}/mpc/${SRC_MPC}.tar.gz
${WGET_GNU}/mpfr/${SRC_MPFR}.tar.gz
${WGET_GNU}/gmp/${SRC_GMP}.tar.gz
${WGET_GNU}/gcc/${SRC_GCC}/gcc-core-${GCC_VERSION}.tar.gz
sources-other:
${WGET} http://downloads.sourceforge.net/project/lcms/lcms/2.4/${SRC_LCMS}.tar.gz
${WGET} http://www.imagemagick.org/download/delegates/${SRC_JASPER}.zip
${WGET} http://www.imagemagick.org/download/delegates/jpegsrc.v8.tar.gz
${WGET} http://download.sourceforge.net/libpng/${SRC_PNG}.tar.gz
${WGET} http://download.osgeo.org/libtiff/${SRC_TIFF}.tar.gz
${WGET} http://zlib.net/${SRC_ZLIB}.tar.gz
${WGET} http://www.imagemagick.org/download/delegates/${SRC_FREETYPE}.tar.gz
${WGET} http://downloads.ghostscript.com/public/${SRC_GHOSTSCRIPT}.tar.gz
${WGET} http://www.imagemagick.org/download/${SRC_IMAGEMAGICK}.tar.bz2 || \
${WGET} http://www.imagemagick.org/download/legacy/${SRC_IMAGEMAGICK}.tar.bz2;
sources-unpack:
for tar in *.tar.*; do gtar xvf $$tar; done;
for zip in *.zip; do unzip $$zip; done;
rm -fr *.tar.* *.zip
sources: sources-gnu sources-other sources-unpack
make:
cd ${SRC_MAKE}; ${CONFIGURE}
cd ${SRC_MAKE}; ${MAKE}
make-install:
cd ${SRC_MAKE}; ${MAKE} install
libtool:
cd ${SRC_LIBTOOL}; ${CONFIGURE}
${MAKE} -C ${SRC_LIBTOOL}
libtool-install:
${MAKE} -C ${SRC_LIBTOOL} install
libiconv:
cd ${SRC_LIBICONV}; ${CONFIGURE}
${MAKE} -C ${SRC_LIBICONV}
libiconv-install:
${MAKE} -C ${SRC_LIBICONV} install
binutils:
cd ${SRC_BINUTILS}; ${CONFIGURE}
${MAKE} -C ${SRC_BINUTILS}
binutils-install:
${MAKE} -C ${SRC_BINUTILS} install
mpc:
cd ${SRC_MPC}; ${CONFIGURE} LDFLAGS="${LDFLAGS}" CPPFLAGS="${CPPFLAGS}"
${MAKE} -C ${SRC_MPC}
mpc-install:
${MAKE} -C ${SRC_MPC} install
mpfr:
cd ${SRC_MPFR}; ${CONFIGURE} LDFLAGS="${LDFLAGS}" CPPFLAGS="${CPPFLAGS}"
${MAKE} -C ${SRC_MPFR}
mpfr-install:
${MAKE} -C ${SRC_MPFR} install
gmp:
cd ${SRC_GMP}; ${CONFIGURE} ABI=32
${MAKE} -C ${SRC_GMP}
gmp-install:
${MAKE} -C ${SRC_GMP} install
gcc:
mkdir -p gcc-build
cd gcc-build; ../${SRC_GCC}/${CONFIGURE} AS=${AS} LD=${LD} \
--with-gmp=${PREFIX} --with-mpfr=${PREFIX} --with-mpc=${PREFIX} \
--with-gnu-ld --with-gnu-as
${MAKE} -C gcc-build
gcc-install:
${MAKE} -C gcc-build install
jasper:
cd ${SRC_JASPER}; ${CONFIGURE}
${MAKE} -C ${SRC_JASPER}
jasper-install:
${MAKE} -C ${SRC_JASPER} install
jpeg:
cd ${SRC_JPEG}; ${CONFIGURE} --enable-shared --disable-static; ln -sf `which libtool` .
${MAKE} -C ${SRC_JPEG}
jpeg-install:
mkdir -p ${PREFIX}/man/man1
${MAKE} -C ${SRC_JPEG} install
lcms:
cd ${SRC_LCMS}; ${CONFIGURE}
${MAKE} -C ${SRC_LCMS}
lcms-install:
${MAKE} -C ${SRC_LCMS} install
png:
cd ${SRC_PNG}; ${CONFIGURE}
${MAKE} -C ${SRC_PNG}
png-install:
${MAKE} -C ${SRC_PNG} install
tiff:
cd ${SRC_TIFF}; ${CONFIGURE}
${MAKE} -C ${SRC_TIFF}
tiff-install:
${MAKE} -C ${SRC_TIFF} install
zlib:
cd ${SRC_ZLIB}; ${CONFIGURE}
${MAKE} -C ${SRC_ZLIB}
zlib-install:
${MAKE} -C ${SRC_ZLIB} install
freetype:
cd ${SRC_FREETYPE}; ${CONFIGURE}
${MAKE} -C ${SRC_FREETYPE}
freetype-install:
${MAKE} -C ${SRC_FREETYPE} install
ghostscript:
cd ${SRC_GHOSTSCRIPT}; ${CONFIGURE} --disable-shared --disable-installed LDFLAGS="${LDFLAGS}" CPPFLAGS="${CPPFLAGS}"
${MAKE} -C ${SRC_GHOSTSCRIPT}
ghostscript-install:
${MAKE} -C ${SRC_GHOSTSCRIPT} install
imagemagick:
cd ${SRC_IMAGEMAGICK}; ${CONFIGURE} --disable-shared --disable-installed LDFLAGS="${LDFLAGS}" CPPFLAGS="${CPPFLAGS}"
${MAKE} -C ${SRC_IMAGEMAGICK}
imagemagick-install:
${MAKE} -C ${SRC_IMAGEMAGICK} install
which:
which make
which libtool
which gcc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment