|
| 1 | +# -*- makefile -*- |
1 | 2 | # build mpl into a local install dir with
|
2 |
| -# PREFIX=/Users/jdhunter/dev make -f make.osx fetch deps mpl_install |
3 |
| -MPLVERSION=1.0rc1 |
| 3 | +# make -f make.osx PREFIX=/Users/jdhunter/dev PYVERSION=2.6 fetch deps mpl_install |
| 4 | +# (see README.osx for more details) |
| 5 | + |
| 6 | +MPLVERSION=1.1.0 |
4 | 7 | PYVERSION=2.6
|
5 | 8 | PYTHON=python${PYVERSION}
|
6 |
| -ZLIBVERSION=1.2.3 |
7 |
| -PNGVERSION=1.2.39 |
8 |
| -FREETYPEVERSION=2.3.11 |
9 | 9 | MACOSX_DEPLOYMENT_TARGET=10.6
|
10 | 10 | OSX_SDK_VER=10.6
|
11 |
| -ARCH_FLAGS="-arch i386-arch x86_64" |
| 11 | +ARCH_FLAGS=-arch i386 -arch x86_64 |
| 12 | + |
| 13 | +# Dependency versions and URLs |
| 14 | +# |
| 15 | +# Adjusting these version numbers should be enough most of the time, |
| 16 | +# but the download URLs are subject to change. |
| 17 | + |
| 18 | +ZLIBVERSION=1.2.5 |
| 19 | +PNGVERSION=1.5.1 |
| 20 | +FREETYPEVERSION=2.4.4 |
| 21 | + |
| 22 | +ZLIBFILE=zlib-${ZLIBVERSION}.tar.gz |
| 23 | +ZLIBDIR=$(basename $(basename ${ZLIBFILE})) |
| 24 | +ZLIBURL=http://sourceforge.net/projects/libpng/files/zlib/${ZLIBVERSION}/${ZLIBFILE}/download |
| 25 | + |
| 26 | +PNGFILE=libpng-${PNGVERSION}.tar.gz |
| 27 | +PNGDIR=$(basename $(basename ${PNGFILE})) |
| 28 | +PNGURL=http://sourceforge.net/projects/libpng/files/libpng15/${PNGVERSION}/${PNGFILE}/download |
| 29 | + |
| 30 | +FREETYPEFILE=freetype-${FREETYPEVERSION}.tar.bz2 |
| 31 | +FREETYPEDIR=$(basename $(basename ${FREETYPEFILE})) |
| 32 | +FREETYPEURL=http://download.savannah.gnu.org/releases/freetype/${FREETYPEFILE} |
12 | 33 |
|
13 | 34 | ## You shouldn't need to configure past this point
|
14 | 35 |
|
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" |
| 36 | +export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig |
| 37 | +export CFLAGS=${ARCH_FLAGS} -I${PREFIX}/include -I${PREFIX}/include/freetype2 -isysroot /Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk |
| 38 | +export LDFLAGS=${ARCH_FLAGS} -L${PREFIX}/lib -syslibroot,/Developer/SDKs/MacOSX${OSX_SDK_VER}.sdk |
| 39 | +export MACOSX_DEPLOYMENT_TARGET |
18 | 40 |
|
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" |
| 41 | +help: |
| 42 | + @echo "Interesting targets: clean, fetch, deps, mpl_build, mpl_install_std" |
| 43 | + @echo "See README.osx for details" |
23 | 44 |
|
24 | 45 | check-prefix:
|
25 | 46 | @if [ ! -d "$(PREFIX)" ]; then echo Set PREFIX to a directory - see README.osx; exit 1; fi
|
26 | 47 |
|
27 | 48 | clean:
|
28 |
| - rm -rf zlib-${ZLIBVERSION}.tar.gz libpng-${PNGVERSION}.tar.bz2 \ |
29 |
| - freetype-${FREETYPEVERSION}.tar.bz2 bdist_mpkg-${BDISTMPKGVERSION}.tar.gz \ |
30 |
| - bdist_mpkg-${BDISTMPKGVERSION} \ |
| 49 | + rm -rf ${ZLIBFILE} ${PNGFILE} ${FREETYPEFILE} \ |
| 50 | + bdist_mpkg-${BDISTMPKGVERSION}.tar.gz \ |
| 51 | + bdist_mpkg-${BDISTMPKGVERSION} setupext.pyc \ |
| 52 | + lib/matplotlib/mpl-data/matplotlib.conf lib/matplotlib/mpl-data/matplotlibrc \ |
31 | 53 | zlib-${ZLIBVERSION} libpng-${PNGVERSION} freetype-${FREETYPEVERSION} \
|
32 | 54 | build
|
33 | 55 |
|
34 | 56 |
|
35 | 57 |
|
36 | 58 | fetch:
|
37 |
| - ${PYTHON} -c 'import urllib; urllib.urlretrieve("http://superb-sea2.dl.sourceforge.net/project/libpng/zlib/${ZLIBVERSION}/zlib-${ZLIBVERSION}.tar.gz", "zlib-${ZLIBVERSION}.tar.gz")' &&\ |
38 |
| - ${PYTHON} -c 'import urllib; urllib.urlretrieve("http://sourceforge.net/projects/libpng/files/libpng-stable/${PNGVERSION}/libpng-${PNGVERSION}.tar.gz/download", "libpng-${PNGVERSION}.tar.gz")' &&\ |
39 |
| - ${PYTHON} -c 'import urllib; urllib.urlretrieve("http://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPEVERSION}.tar.bz2", "freetype-${FREETYPEVERSION}.tar.bz2")' |
40 |
| - |
41 |
| - |
42 |
| - |
| 59 | + ${PYTHON} -c 'import urllib; urllib.urlretrieve("${ZLIBURL}", "${ZLIBFILE}")' &&\ |
| 60 | + ${PYTHON} -c 'import urllib; urllib.urlretrieve("${PNGURL}", "${PNGFILE}")' &&\ |
| 61 | + ${PYTHON} -c 'import urllib; urllib.urlretrieve("${FREETYPEURL}", "${FREETYPEFILE}")' |
43 | 62 |
|
44 | 63 | zlib: check-prefix
|
45 |
| - export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\ |
46 |
| - rm -rf zlib-${ZLIBVERSION} &&\ |
47 |
| - tar xvfz zlib-${ZLIBVERSION}.tar.gz &&\ |
48 |
| - cd zlib-${ZLIBVERSION} &&\ |
49 |
| - export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\ |
50 |
| - export CFLAGS=${CFLAGS} &&\ |
51 |
| - export LDFLAGS=${LDFLAGS} &&\ |
52 |
| - ./configure --prefix=${PREFIX}&&\ |
53 |
| - MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} CFLAGS=${CFLAGS} LDFLAGS=${LDFLAGS} make -j3 install&& \ |
54 |
| - unset MACOSX_DEPLOYMENT_TARGET |
55 |
| - |
56 |
| -png: zlib check-prefix |
57 |
| - export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\ |
58 |
| - rm -rf libpng-${PNGVERSION} &&\ |
59 |
| - tar xvfz libpng-${PNGVERSION}.tar.gz && \ |
60 |
| - cd libpng-${PNGVERSION} &&\ |
61 |
| - export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\ |
62 |
| - export CFLAGS=${CFLAGS} &&\ |
63 |
| - export LDFLAGS=${LDFLAGS} &&\ |
| 64 | + rm -rf ${ZLIBDIR} &&\ |
| 65 | + tar xvfz ${ZLIBFILE} &&\ |
| 66 | + cd ${ZLIBDIR} &&\ |
| 67 | + ./configure --prefix=${PREFIX} &&\ |
| 68 | + ${MAKE} -j3 install |
| 69 | + |
| 70 | +png: check-prefix zlib |
| 71 | + rm -rf ${PNGDIR} &&\ |
| 72 | + tar xvfz ${PNGFILE} && \ |
| 73 | + cd ${PNGDIR} &&\ |
64 | 74 | ./configure --disable-dependency-tracking --prefix=${PREFIX} &&\
|
65 |
| - make -j3 install&&\ |
66 |
| - cp .libs/libpng.a . &&\ |
67 |
| - unset MACOSX_DEPLOYMENT_TARGET |
68 |
| - |
69 |
| - |
70 |
| -freetype: zlib check-prefix |
71 |
| - export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\ |
72 |
| - rm -rf ${FREETYPEVERSION} &&\ |
73 |
| - tar xvfj freetype-${FREETYPEVERSION}.tar.bz2 &&\ |
74 |
| - cd freetype-${FREETYPEVERSION} &&\ |
75 |
| - export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\ |
76 |
| - export CFLAGS=${CFLAGS} &&\ |
77 |
| - export LDFLAGS=${LDFLAGS} &&\ |
78 |
| - ./configure --prefix=${PREFIX} &&\ |
79 |
| - make -j3 install &&\ |
80 |
| - cp objs/.libs/libfreetype.a . &&\ |
81 |
| - unset MACOSX_DEPLOYMENT_TARGET |
| 75 | + ${MAKE} -j3 install |
82 | 76 |
|
| 77 | +freetype: check-prefix zlib |
| 78 | + rm -rf ${FREETYPEDIR} &&\ |
| 79 | + tar xvfj ${FREETYPEFILE} &&\ |
| 80 | + cd ${FREETYPEDIR} &&\ |
| 81 | + ./configure --prefix=${PREFIX} &&\ |
| 82 | + ${MAKE} -j3 install &&\ |
| 83 | + cp objs/.libs/libfreetype.a . |
83 | 84 |
|
84 | 85 | deps: zlib png freetype
|
85 | 86 | echo 'all done'
|
86 | 87 |
|
87 |
| -mpl_build: |
88 |
| - export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\ |
89 |
| - export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\ |
90 |
| - export CFLAGS=${CFLAGS} &&\ |
91 |
| - export LDFLAGS=${LDFLAGS} &&\ |
| 88 | +# Various build and install targets |
| 89 | +# |
| 90 | +# The values of PKG_CONFIG_PATH, MACOSX_DEPLOYMENT_TARGET, CFLAGS, |
| 91 | +# LDFLAGS affect the compilation; note that variables are |
| 92 | +# automatically put into the environment by make. |
| 93 | + |
| 94 | +mpl_build: check-prefix |
92 | 95 | ${PYTHON} setup.py build
|
93 | 96 |
|
94 | 97 | mpl_install: check-prefix
|
95 |
| - export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\ |
96 |
| - export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\ |
97 |
| - export CFLAGS=${CFLAGS} &&\ |
98 |
| - export LDFLAGS=${LDFLAGS} &&\ |
99 | 98 | ${PYTHON} setup.py install --prefix=${PREFIX}
|
100 | 99 |
|
| 100 | +mpl_install_std: check-prefix |
| 101 | + ${PYTHON} setup.py install |
| 102 | + |
| 103 | +mpl_install_egg: check-prefix |
| 104 | + ${PYTHON} setupegg.py install |
| 105 | + |
| 106 | +mpl_install_develop: check-prefix |
| 107 | + ${PYTHON} setupegg.py develop |
| 108 | + |
101 | 109 |
|
102 | 110 | binaries: check-prefix
|
| 111 | + @if [ -z "$(PYVERSION)" ]; then echo Must set PYVERSION; exit 1; fi |
103 | 112 | unset PKG_CONFIG_PATH &&\
|
104 | 113 | cp release/osx/data/setup.cfg release/osx/data/ReadMe.txt . &&\
|
105 |
| - export CFLAGS=${CFLAGS} &&\ |
106 |
| - export LDFLAGS=${LDFLAGS} &&\ |
107 | 114 | rm -f ${PREFIX}/lib/*.dylib &&\
|
108 | 115 | VERSIONER_PYTHON_PREFER_32_BIT=yes bdist_mpkg --readme=ReadMe.txt &&\
|
109 | 116 | hdiutil create -srcdir dist/matplotlib-${MPLVERSION}-py${PYVERSION}-macosx${OSX_SDK_VER}.mpkg dist/matplotlib-${MPLVERSION}-py${PYVERSION}-macosx${OSX_SDK_VER}.dmg &&\
|
|
0 commit comments