summaryrefslogtreecommitdiffstats
path: root/Mac/OSX/Makefile.in
diff options
context:
space:
mode:
Diffstat (limited to 'Mac/OSX/Makefile.in')
-rw-r--r--Mac/OSX/Makefile.in241
1 files changed, 241 insertions, 0 deletions
diff --git a/Mac/OSX/Makefile.in b/Mac/OSX/Makefile.in
new file mode 100644
index 0000000..a44191d
--- /dev/null
+++ b/Mac/OSX/Makefile.in
@@ -0,0 +1,241 @@
+# This file can be invoked from the various frameworkinstall... targets in the
+# main Makefile. The next couple of variables are overridden on the
+# commandline in that case.
+
+VERSION=@VERSION@
+builddir = ../..
+srcdir = @srcdir@
+prefix=/Library/Frameworks/Python.framework/Versions/$(VERSION)
+LIBDEST=$(prefix)/lib/python$(VERSION)
+BUILDPYTHON=$(builddir)/python.exe
+DESTDIR=
+
+# These are normally glimpsed from the previous set
+bindir=@exec_prefix@/bin
+PYTHONAPPSDIR=/Applications/MacPython $(VERSION)
+APPINSTALLDIR=$(prefix)/Resources/Python.app
+
+# Variables for installing the "normal" unix binaries
+INSTALLED_PYDOC=$(prefix)/bin/pydoc
+INSTALLED_IDLE=$(prefix)/bin/idle
+INSTALLED_PYTHON=$(prefix)/bin/python
+INSTALLED_PYTHONW=$(prefix)/bin/pythonw
+INSTALLED_PYTHONAPP=$(APPINSTALLDIR)/Contents/MacOS/Python
+
+# Items more-or-less copied from the main Makefile
+DIRMODE=755
+FILEMODE=644
+INSTALL=@INSTALL@
+INSTALL_SYMLINK=ln -fsn
+INSTALL_PROGRAM=@INSTALL_PROGRAM@
+INSTALL_SCRIPT= @INSTALL_SCRIPT@
+INSTALL_DATA=@INSTALL_DATA@
+LN=@LN@
+STRIPFLAG=-s
+CPMAC=/Developer/Tools/CpMac
+
+APPTEMPLATE=$(srcdir)/../OSXResources/app
+APPSUBDIRS=MacOS Resources Resources/English.lproj \
+ Resources/English.lproj/Documentation \
+ Resources/English.lproj/Documentation/doc \
+ Resources/English.lproj/Documentation/ide
+DOCDIR=$(srcdir)/../OSXResources/app/Resources/English.lproj/Documentation
+DOCINDEX=$(DOCDIR)/"Documentation idx"
+CACHERSRC=$(srcdir)/../scripts/cachersrc.py
+compileall=$(srcdir)/../../Lib/compileall.py
+
+installapps: install_Python install_BuildApplet install_PythonLauncher \
+ install_IDLE checkapplepython install_pythonw install_versionedtools
+
+install_pythonw: pythonw
+ $(INSTALL_PROGRAM) $(STRIPFLAG) pythonw "$(DESTDIR)$(prefix)/bin/pythonw$(VERSION)"
+ $(INSTALL_PROGRAM) $(STRIPFLAG) pythonw "$(DESTDIR)$(prefix)/bin/python$(VERSION)"
+ ln -sf python$(VERSION) "$(DESTDIR)$(prefix)/bin/python"
+ ln -sf pythonw$(VERSION) "$(DESTDIR)$(prefix)/bin/pythonw"
+
+#
+# Install unix tools in /usr/local/bin. These are just aliases for the
+# actual installation inside the framework.
+#
+installunixtools:
+ if [ ! -d "$(DESTDIR)/usr/local/bin" ]; then \
+ $(INSTALL) -d -m $(DIRMODE) "$(DESTDIR)/usr/local/bin" ;\
+ fi
+ for fn in `ls "$(DESTDIR)$(prefix)/bin/"` ; \
+ do \
+ ln -fs "$(prefix)/bin/$${fn}" "$(DESTDIR)/usr/local/bin/$${fn}" ;\
+ done
+
+# By default most tools are installed without a version in their basename, to
+# make it easier to install (and use) several python versions side-by-side move
+# the tools to a version-specific name and add the non-versioned name as an
+# alias.
+install_versionedtools:
+ for fn in idle pydoc python-config ;\
+ do \
+ if [ -h "$(DESTDIR)$(prefix)/bin/$${fn}" ]; then \
+ continue ;\
+ fi ;\
+ mv "$(DESTDIR)$(prefix)/bin/$${fn}" "$(DESTDIR)$(prefix)/bin/$${fn}$(VERSION)" ;\
+ ln -sf "$${fn}$(VERSION)" "$(DESTDIR)$(prefix)/bin/$${fn}" ;\
+ done
+ if [ ! -h "$(DESTDIR)$(prefix)/bin/smtpd.py" ]; then \
+ mv "$(DESTDIR)$(prefix)/bin/smtpd.py" "$(DESTDIR)$(prefix)/bin/smtpd$(VERSION).py" ;\
+ ln -sf "smtpd$(VERSION).py" "$(DESTDIR)$(prefix)/bin/smtpd.py" ;\
+ fi
+
+
+pythonw: $(srcdir)/Tools/pythonw.c
+ $(CC) $(LDFLAGS) -o $@ $(srcdir)/Tools/pythonw.c \
+ -DPYTHONWEXECUTABLE='"$(APPINSTALLDIR)/Contents/MacOS/Python"'
+
+
+install_PythonLauncher:
+ cd PythonLauncher && make install DESTDIR=$(DESTDIR)
+
+install_Python:
+ @if test ! -f $(DOCINDEX); then \
+ echo WARNING: you should run Apple Help Indexing Tool on $(DOCDIR); \
+ fi
+ @for i in "$(PYTHONAPPSDIR)" "$(APPINSTALLDIR)" "$(APPINSTALLDIR)/Contents"; do \
+ if test ! -d "$(DESTDIR)$$i"; then \
+ echo "Creating directory $(DESTDIR)$$i"; \
+ $(INSTALL) -d -m $(DIRMODE) "$(DESTDIR)$$i"; \
+ fi;\
+ done
+ @for i in $(APPSUBDIRS); do \
+ if test ! -d "$(DESTDIR)$(APPINSTALLDIR)/Contents/$$i"; then \
+ echo "Creating directory $(DESTDIR)$(APPINSTALLDIR)/Contents/$$i"; \
+ $(INSTALL) -d -m $(DIRMODE) "$(DESTDIR)$(APPINSTALLDIR)/Contents/$$i"; \
+ else true; \
+ fi; \
+ done
+ @for d in . $(APPSUBDIRS); \
+ do \
+ a=$(APPTEMPLATE)/$$d; \
+ if test ! -d $$a; then continue; else true; fi; \
+ b="$(DESTDIR)$(APPINSTALLDIR)/Contents/$$d"; \
+ for i in $$a/*; \
+ do \
+ case $$i in \
+ *CVS) ;; \
+ *.svn) ;; \
+ *.py[co]) ;; \
+ *.orig) ;; \
+ *~) ;; \
+ *idx) \
+ echo $(CPMAC) "$$i" $$b; \
+ $(CPMAC) "$$i" "$$b"; \
+ ;; \
+ *) \
+ if test -d $$i; then continue; fi; \
+ if test -x $$i; then \
+ echo $(INSTALL_SCRIPT) "$$i" "$$b"; \
+ $(INSTALL_SCRIPT) "$$i" "$$b"; \
+ else \
+ echo $(INSTALL_DATA) "$$i" "$$b"; \
+ $(INSTALL_DATA) "$$i" "$$b"; \
+ fi;; \
+ esac; \
+ done; \
+ done
+ $(INSTALL_PROGRAM) $(STRIPFLAG) $(BUILDPYTHON) "$(DESTDIR)$(APPINSTALLDIR)/Contents/MacOS/Python"
+
+install_IDLE:
+ cd IDLE && make install
+
+install_BuildApplet:
+ $(BUILDPYTHON) $(srcdir)/../scripts/BuildApplet.py \
+ --destroot "$(DESTDIR)" \
+ --python $(INSTALLED_PYTHONAPP) \
+ --output "$(DESTDIR)$(PYTHONAPPSDIR)/Build Applet.app" \
+ $(srcdir)/../scripts/BuildApplet.py
+
+MACLIBDEST=$(LIBDEST)/plat-mac
+MACTOOLSDEST=$(prefix)/Mac/Tools
+MACTOOLSSRC=$(srcdir)/Mac/Tools
+MACTOOLSSUBDIRS=IDE
+
+installmacsubtree:
+ @for i in $(MACTOOLSDEST); \
+ do \
+ if test ! -d $(DESTDIR)$$i; then \
+ echo "Creating directory $(DESTDIR)$$i"; \
+ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
+ else true; \
+ fi; \
+ done
+ @for d in $(MACTOOLSSUBDIRS); \
+ do \
+ a=$(MACTOOLSSRC)/$$d; \
+ if test ! -d $$a; then continue; else true; fi; \
+ b=$(DESTDIR)$(MACTOOLSDEST)/$$d; \
+ if test ! -d $$b; then \
+ echo "Creating directory $$b"; \
+ $(INSTALL) -d -m $(DIRMODE) $$b; \
+ else true; \
+ fi; \
+ done
+ @for d in $(MACTOOLSSUBDIRS); \
+ do \
+ a=$(MACTOOLSSRC)/$$d; \
+ if test ! -d $$a; then continue; else true; fi; \
+ b=$(DESTDIR)$(MACTOOLSDEST)/$$d; \
+ for i in $$a/*; \
+ do \
+ case $$i in \
+ *CVS) ;; \
+ *.svn) ;; \
+ *.py[co]) ;; \
+ *.orig) ;; \
+ *~) ;; \
+ *.rsrc) \
+ echo $(CPMAC) $$i $$b ; \
+ $(CPMAC) $$i $$b ; \
+ ;; \
+ *) \
+ if test -d $$i; then continue; fi; \
+ if test -x $$i; then \
+ echo $(INSTALL_SCRIPT) $$i $$b; \
+ $(INSTALL_SCRIPT) $$i $$b; \
+ else \
+ echo $(INSTALL_DATA) $$i $$b; \
+ $(INSTALL_DATA) $$i $$b; \
+ fi;; \
+ esac; \
+ done; \
+ done
+
+
+ $(BUILDPYTHON) $(CACHERSRC) -v $(DESTDIR)$(MACLIBDEST) $(DESTDIR)$(MACTOOLSDEST)
+ $(BUILDPYTHON) -Wi -tt $(compileall) -d $(MACTOOLSDEST) -x badsyntax $(DESTDIR)$(MACTOOLSDEST)
+ $(BUILDPYTHON) -O -Wi -tt $(compileall) -d $(MACTOOLSDEST) -x badsyntax $(DESTDIR)$(MACTOOLSDEST)
+
+#
+# We use the full name here in stead of $(INSTALLED_PYTHONAPP), because
+# the latter may be overridden by Makefile.jaguar when building for a pre-installed
+$(INSTALLED_PYTHONAPP)/Contents/MacOS/Python: install_Python
+
+# $(INSTALLED_PYTHON) has to be done by the main Makefile, we cannot do that here.
+# At least this rule will give an error if it doesn't exist.
+
+installextras:
+ $(INSTALL) -d "$(DESTDIR)$(PYTHONAPPSDIR)/Extras"
+ $(INSTALL) $(srcdir)/Mac/OSX/Extras.ReadMe.txt "$(DESTDIR)$(PYTHONAPPSDIR)/Extras/ReadMe.txt"
+ $(BUILDPYTHON) $(srcdir)/Mac/OSX/Extras.install.py $(srcdir)/Demo \
+ "$(DESTDIR)$(PYTHONAPPSDIR)/Extras/Demo"
+
+
+checkapplepython:
+ @if ! $(BUILDPYTHON) $(srcdir)/fixapplepython23.py -n; then \
+ echo "* WARNING: Apple-installed Python 2.3 will have trouble building extensions from now on."; \
+ echo "* WARNING: Run $(srcdir)/fixapplepython23.py with \"sudo\" to fix this."; \
+ fi
+
+
+clean:
+ rm pythonw
+ cd PythonLauncher && make clean
+ cd IDLE && make clean
+
+