# This Makefile, which should be run from the current directory, will build # a MacPython based on the /usr/bin/python installed by Apple as of 10.2. VERSION=2.2 builddir = ../.. srcdir = ../.. dstroot=/. PYTHONAPPSPATH=/Applications/MacPython-OSX-$(VERSION) PYTHONAPPSDIR=$(dstroot)$(PYTHONAPPSPATH) prefix=/usr # These are normally computed form the previous ones osxdir=$(srcdir)/Mac/OSX PYTHON=$(prefix)/bin/python pythonw=$(prefix)/bin/pythonw LIBDEST=$(prefix)/lib/python$(VERSION) datadir=$(PYTHONAPPSDIR)/python-additions MACLIBDEST=$(datadir)/Lib MACDYNLIBDEST=$(datadir)/lib-dynload MACTOOLSDEST=$(datadir)/Tools APPNAME=Python APPBUNDLENAME=$(APPNAME).app INSTALLED_PYTHONW=$(datadir)/$(APPBUNDLENAME)/Contents/MacOS/$(APPNAME) # The usual stuff DIRMODE=755 INSTALL=/usr/bin/install -c INSTALL_SYMLINK=ln -fs INSTALL_PROGRAM=${INSTALL} INSTALL_SCRIPT= ${INSTALL_PROGRAM} INSTALL_DATA= ${INSTALL} -m 644 # These can be done as a normal user install: preflight install_dirs install_dynlib install_lib \ install_Python install_IDE install_IDLE install_BuildApplet \ install_PythonLauncher install_pythonw preflight: @if test ! -w $(LIBDEST)/site-packages; then \ echo Please make directory $(LIBDEST)/site-packages writeable; \ exit 1; \ fi @if grep "arch i386" $(LIBDEST)/config/Makefile >/dev/null; then \ echo Please edit $(LIBDEST)/config/Makefile, see README.JAGUAR; \ exit 1; \ fi install_dirs: $(INSTALL) -d -m $(DIRMODE) $(PYTHONAPPSDIR) $(INSTALL) -d -m $(DIRMODE) $(datadir) $(INSTALL) -d -m $(DIRMODE) $(MACDYNLIBDEST) install_lib: Mac.jaguar.pth $(MAKE) -f $(osxdir)/Makefile installmacsubtree \ LIBDEST=$(LIBDEST) MACLIBDEST=$(MACLIBDEST) MACTOOLSDEST=$(MACTOOLSDEST) \ builddir=$(builddir) srcdir=$(srcdir) PTHFILE=Mac.jaguar.pth \ PYTHON=$(PYTHON) compileall=$(LIBDEST)/compileall.py Mac.jaguar.pth: echo $(MACLIBDEST) > Mac.jaguar.pth echo $(MACDYNLIBDEST) >> Mac.jaguar.pth ## echo "import macresource; macresource.open_error_resource()" >> Mac.jaguar.pth install_dynlib: $(PYTHON) $(osxdir)/setup.jaguar.py install --install-lib=$(MACDYNLIBDEST) touch $(MACDYNLIBDEST)/OverrideFrom23/__init__.py install_Python: $(PYTHON) $(srcdir)/Mac/Lib/bundlebuilder.py -q --link-exec \ -b $(datadir) \ -n $(APPBUNDLENAME) \ -r $(srcdir)/Mac/OSXResources/app/Resources/Applet-Info.plist \ -r $(srcdir)/Mac/OSXResources/app/Resources/PythonApplet.icns \ -e $(PYTHON) \ build install_IDE: $(MAKE) -f $(osxdir)/Makefile install_IDE \ srcdir=$(srcdir) INSTALLED_PYTHONW=$(INSTALLED_PYTHONW) \ PYTHONAPPSDIR=$(PYTHONAPPSDIR) install_IDLE: $(MAKE) -f $(osxdir)/Makefile install_IDLE \ srcdir=$(srcdir) INSTALLED_PYTHONW=$(INSTALLED_PYTHONW) \ PYTHONAPPSDIR=$(PYTHONAPPSDIR) install_BuildApplet: $(MAKE) -f $(osxdir)/Makefile install_BuildApplet \ srcdir=$(srcdir) INSTALLED_PYTHONW=$(INSTALLED_PYTHONW) \ PYTHONAPPSDIR=$(PYTHONAPPSDIR) install_PythonLauncher: $(MAKE) -f $(osxdir)/Makefile install_PythonLauncher \ srcdir=$(srcdir) dstroot=$(dstroot) \ PYTHONAPPSPATH=$(PYTHONAPPSPATH) install_pythonw: @if test ! -w $(prefix)/bin; then \ echo Cannot write to $(prefix)/bin, use \"sudo make -f Makefile.jaguar install_pythonw\"; \ exit 1; \ fi echo "#!/bin/sh" > pythonw.sh echo "exec \"$(INSTALLED_PYTHONW)\" \"\$$@\"" >> pythonw.sh $(INSTALL) pythonw.sh $(prefix)/bin/pythonw