106 lines
3.3 KiB
Makefile
106 lines
3.3 KiB
Makefile
# 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
|