1+ # -*- makefile -*-
12# build mpl into a local install dir with
23# make -f make.osx PREFIX=/Users/jdhunter/dev PYVERSION=2.6 fetch deps mpl_install
34# (see README.osx for more details)
@@ -8,18 +9,18 @@ PNGVERSION=1.2.39
89FREETYPEVERSION =2.3.11
910MACOSX_DEPLOYMENT_TARGET =10.6
1011OSX_SDK_VER =10.6
11- ARCH_FLAGS=" -arch i386-arch x86_64"
12+ ARCH_FLAGS =-arch i386 -arch x86_64
1213
1314# # You shouldn't need to configure past this point
1415
15- #PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig"
16- #CFLAGS="${ARCH_FLAGS} -I${PREFIX}/include -I${PREFIX}/include/freetype2 -isysroot /Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk"
17- #LDFLAGS="${ARCH_FLAGS} -L${PREFIX}/lib -syslibroot,/Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk"
16+ export PKG_CONFIG_PATH =${PREFIX}/lib/pkgconfig
17+ export CFLAGS =${ARCH_FLAGS} -I${PREFIX}/include -I${PREFIX}/include/freetype2 -isysroot /Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk
18+ export LDFLAGS =${ARCH_FLAGS} -L${PREFIX}/lib -syslibroot,/Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk
19+ export MACOSX_DEPLOYMENT_TARGET
1820
19- PKG_CONFIG_PATH="${PREFIX}/lib/pkgconfig"
20- CFLAGS="-arch i386 -arch x86_64 -I${PREFIX}/include -I${PREFIX}/include/freetype2 -isysroot /Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk"
21- LDFLAGS="-arch i386 -arch x86_64 -L${PREFIX}/lib -syslibroot,/Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk"
22- FFLAGS="-arch i386 -arch x86_64"
21+ help :
22+ @echo " Interesting targets: clean, fetch, deps, mpl_build, mpl_install_std"
23+ @echo " See README.osx for details"
2324
2425clean :
2526 rm -rf zlib-${ZLIBVERSION} .tar.gz libpng-${PNGVERSION} .tar.gz \
@@ -36,72 +37,61 @@ fetch:
3637 ${PYTHON} -c ' import urllib; urllib.urlretrieve("http://sourceforge.net/projects/libpng/files/libpng12/older-releases/${PNGVERSION}/libpng-${PNGVERSION}.tar.gz/download", "libpng-${PNGVERSION}.tar.gz")' && \
3738 ${PYTHON} -c ' import urllib; urllib.urlretrieve("http://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPEVERSION}.tar.bz2", "freetype-${FREETYPEVERSION}.tar.bz2")'
3839
40+ check-prefix :
41+ @if [ ! -d " $( PREFIX) " ]; then echo Set PREFIX to a directory - see README.osx; exit 1; fi
3942
40-
41-
42- zlib:
43- export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\
43+ zlib : check-prefix
4444 rm -rf zlib-${ZLIBVERSION} && \
4545 tar xvfz zlib-${ZLIBVERSION} .tar.gz && \
4646 cd zlib-${ZLIBVERSION} && \
47- export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\
48- export CFLAGS=${CFLAGS} &&\
49- export LDFLAGS=${LDFLAGS} &&\
5047 ./configure --prefix=${PREFIX} && \
51- MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} make -j3 install&& \
52- unset MACOSX_DEPLOYMENT_TARGET
48+ ${MAKE} -j3 install
5349
54- png: zlib
55- export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\
50+ png : check-prefix zlib
5651 rm -rf libpng-${PNGVERSION} && \
5752 tar xvfz libpng-${PNGVERSION} .tar.gz && \
5853 cd libpng-${PNGVERSION} && \
59- export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\
60- export CFLAGS=${CFLAGS} &&\
61- export LDFLAGS=${LDFLAGS} &&\
6254 ./configure --disable-dependency-tracking --prefix=${PREFIX} && \
63- make -j3 install&&\
64- cp .libs/libpng.a . &&\
65- unset MACOSX_DEPLOYMENT_TARGET
55+ ${MAKE} -j3 install&& \
56+ cp .libs/libpng.a .
6657
67-
68- freetype: zlib
69- export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\
58+ freetype : check-prefix zlib
7059 rm -rf ${FREETYPEVERSION} && \
7160 tar xvfj freetype-${FREETYPEVERSION} .tar.bz2 && \
7261 cd freetype-${FREETYPEVERSION} && \
73- export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\
74- export CFLAGS=${CFLAGS} &&\
75- export LDFLAGS=${LDFLAGS} &&\
7662 ./configure --prefix=${PREFIX} && \
77- make -j3 install &&\
78- cp objs/.libs/libfreetype.a . &&\
79- unset MACOSX_DEPLOYMENT_TARGET
80-
63+ ${MAKE} -j3 install && \
64+ cp objs/.libs/libfreetype.a .
8165
8266deps : zlib png freetype
8367 echo ' all done'
8468
85- mpl_build:
86- export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\
87- export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\
88- export CFLAGS=${CFLAGS} &&\
89- export LDFLAGS=${LDFLAGS} &&\
69+ # Various build and install targets
70+ #
71+ # The values of PKG_CONFIG_PATH, MACOSX_DEPLOYMENT_TARGET, CFLAGS,
72+ # LDFLAGS affect the compilation; note that variables are
73+ # automatically put into the environment by make.
74+
75+ mpl_build : check-prefix
9076 ${PYTHON} setup.py build
9177
92- mpl_install:
93- export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\
94- export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\
95- export CFLAGS=${CFLAGS} &&\
96- export LDFLAGS=${LDFLAGS} &&\
78+ mpl_install : check-prefix
79+ ${PYTHON} setup.py install --prefix=${PREFIX}
80+
81+ mpl_install_std : check-prefix
9782 ${PYTHON} setup.py install
9883
84+ mpl_install_egg : check-prefix
85+ ${PYTHON} setupegg.py install
86+
87+ mpl_install_develop : check-prefix
88+ ${PYTHON} setupegg.py develop
89+
9990
100- binaries:
91+ binaries : check-prefix
92+ @if [ -z " $( PYVERSION) " ]; then echo Must set PYVERSION; exit 1; fi
10193 unset PKG_CONFIG_PATH && \
10294 cp release/osx/data/setup.cfg release/osx/data/ReadMe.txt . && \
103- export CFLAGS=${CFLAGS} &&\
104- export LDFLAGS=${LDFLAGS} &&\
10595 rm -f ${PREFIX} /lib/* .dylib && \
10696 /Library/Frameworks/Python.framework/Versions/${PYVERSION} /bin/bdist_mpkg --readme=ReadMe.txt && \
10797 hdiutil create -srcdir dist/matplotlib-${MPLVERSION} -py${PYVERSION} -macosx10.5.mpkg dist/matplotlib-${MPLVERSION} -py${PYVERSION} -macosx10.5.dmg && \
0 commit comments