1
+ # -*- makefile -*-
1
2
# build mpl into a local install dir with
2
3
# make -f make.osx PREFIX=/Users/jdhunter/dev PYVERSION=2.6 fetch deps mpl_install
3
4
# (see README.osx for more details)
@@ -8,18 +9,18 @@ PNGVERSION=1.2.39
8
9
FREETYPEVERSION =2.3.11
9
10
MACOSX_DEPLOYMENT_TARGET =10.6
10
11
OSX_SDK_VER =10.6
11
- ARCH_FLAGS=" -arch i386-arch x86_64"
12
+ ARCH_FLAGS =-arch i386 -arch x86_64
12
13
13
14
# # You shouldn't need to configure past this point
14
15
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
18
20
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"
23
24
24
25
clean :
25
26
rm -rf zlib-${ZLIBVERSION} .tar.gz libpng-${PNGVERSION} .tar.gz \
@@ -36,72 +37,61 @@ fetch:
36
37
${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")' && \
37
38
${PYTHON} -c ' import urllib; urllib.urlretrieve("http://download.savannah.gnu.org/releases/freetype/freetype-${FREETYPEVERSION}.tar.bz2", "freetype-${FREETYPEVERSION}.tar.bz2")'
38
39
40
+ check-prefix :
41
+ @if [ ! -d " $( PREFIX) " ]; then echo Set PREFIX to a directory - see README.osx; exit 1; fi
39
42
40
-
41
-
42
- zlib:
43
- export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\
43
+ zlib : check-prefix
44
44
rm -rf zlib-${ZLIBVERSION} && \
45
45
tar xvfz zlib-${ZLIBVERSION} .tar.gz && \
46
46
cd zlib-${ZLIBVERSION} && \
47
- export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\
48
- export CFLAGS=${CFLAGS} &&\
49
- export LDFLAGS=${LDFLAGS} &&\
50
47
./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
53
49
54
- png: zlib
55
- export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\
50
+ png : check-prefix zlib
56
51
rm -rf libpng-${PNGVERSION} && \
57
52
tar xvfz libpng-${PNGVERSION} .tar.gz && \
58
53
cd libpng-${PNGVERSION} && \
59
- export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\
60
- export CFLAGS=${CFLAGS} &&\
61
- export LDFLAGS=${LDFLAGS} &&\
62
54
./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 .
66
57
67
-
68
- freetype: zlib
69
- export PKG_CONFIG_PATH=${PKG_CONFIG_PATH} &&\
58
+ freetype : check-prefix zlib
70
59
rm -rf ${FREETYPEVERSION} && \
71
60
tar xvfj freetype-${FREETYPEVERSION} .tar.bz2 && \
72
61
cd freetype-${FREETYPEVERSION} && \
73
- export MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} &&\
74
- export CFLAGS=${CFLAGS} &&\
75
- export LDFLAGS=${LDFLAGS} &&\
76
62
./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 .
81
65
82
66
deps : zlib png freetype
83
67
echo ' all done'
84
68
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
90
76
${PYTHON} setup.py build
91
77
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
97
82
${PYTHON} setup.py install
98
83
84
+ mpl_install_egg : check-prefix
85
+ ${PYTHON} setupegg.py install
86
+
87
+ mpl_install_develop : check-prefix
88
+ ${PYTHON} setupegg.py develop
89
+
99
90
100
- binaries:
91
+ binaries : check-prefix
92
+ @if [ -z " $( PYVERSION) " ]; then echo Must set PYVERSION; exit 1; fi
101
93
unset PKG_CONFIG_PATH && \
102
94
cp release/osx/data/setup.cfg release/osx/data/ReadMe.txt . && \
103
- export CFLAGS=${CFLAGS} &&\
104
- export LDFLAGS=${LDFLAGS} &&\
105
95
rm -f ${PREFIX} /lib/* .dylib && \
106
96
/Library/Frameworks/Python.framework/Versions/${PYVERSION} /bin/bdist_mpkg --readme=ReadMe.txt && \
107
97
hdiutil create -srcdir dist/matplotlib-${MPLVERSION} -py${PYVERSION} -macosx10.5.mpkg dist/matplotlib-${MPLVERSION} -py${PYVERSION} -macosx10.5.dmg && \
0 commit comments