diff options
author | Guido van Rossum <guido@python.org> | 1994-08-01 12:07:07 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 1994-08-01 12:07:07 (GMT) |
commit | 433c8ade138f5074d074be245951ed8c27bad377 (patch) | |
tree | ef94540ce3da041cf7aa798cef06e7f4a7517f3b /Makefile.in | |
parent | 761c7a323c65f869ad851dbce48881a47d84a863 (diff) | |
download | cpython-433c8ade138f5074d074be245951ed8c27bad377.zip cpython-433c8ade138f5074d074be245951ed8c27bad377.tar.gz cpython-433c8ade138f5074d074be245951ed8c27bad377.tar.bz2 |
Merge alpha100 branch back to main trunk
Diffstat (limited to 'Makefile.in')
-rw-r--r-- | Makefile.in | 254 |
1 files changed, 226 insertions, 28 deletions
diff --git a/Makefile.in b/Makefile.in index 20a4acb..ca8d266 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,58 +1,256 @@ -MAKE= make +######################################################################## +# Copyright 1991, 1992, 1993, 1994 by Stichting Mathematisch Centrum, +# Amsterdam, The Netherlands. +# +# All Rights Reserved +# +# Permission to use, copy, modify, and distribute this software and its +# documentation for any purpose and without fee is hereby granted, +# provided that the above copyright notice appear in all copies and that +# both that copyright notice and this permission notice appear in +# supporting documentation, and that the names of Stichting Mathematisch +# Centrum or CWI not be used in advertising or publicity pertaining to +# distribution of the software without specific, written prior permission. +# +# STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO +# THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +# FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE +# FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +######################################################################## -SUBDIRS= Parser Grammar Objects Python -SUBDIRSTOO= Include Extensions readline -DISTFILES= README Makefile configure configure.in -DIST= $(DISTFILES) $(SUBDIRS) $(SUBDIRSTOO) +# Toplevel Makefile for Python +# Note -- if recursive makes fail, try adding MAKE=make -all: config.status +# Substitutions by configure +srcdir= @srcdir@ +VPATH= @srcdir@ +INSTALL= @INSTALL@ + +# Install prefixes are treated specially by the configure script: +# it only changes these lines if it has received a --prefix=... or +# --exec-prefix-... command line option, or if it has figured out +# a value by searching for python in $PATH. Note that $(prefix) is +# also used when compiling config.c in Modules to set the default +# module search path, so if you change it later be sure to change it +# there too and rebuild. + +# Install prefix for architecture-independent files +prefix= /usr/local + +# Install prefix for architecture-dependent files +exec_prefix= $(prefix) + +# Programs +SHELL= /bin/sh + +# --with-PACKAGE options for configure script +# e.g. --with-readline --with-svr5 --with-solaris --with-thread +# (see README for an explanation) +WITH= + +# Compiler options passed to subordinate makes +OPT= -O + +# Subdirectories where to run make recursively +SUBDIRS= Parser Objects Python Modules + +# Other subdirectories +SUBDIRSTOO= Include Lib Doc Misc Demo readline Grammar + +# Files and directories to be distributed +CONFIGFILES= configure configure.in acconfig.h config.h.in Makefile.in +DISTFILES= README ChangeLog $(CONFIGFILES) +DISTDIRS= $(SUBDIRS) $(SUBDIRSTOO) Ext-dummy +DIST= $(DISTFILES) $(DISTDIRS) + +# Default target +all: python + +# Build the interpreter +python: Makefiles + for i in $(SUBDIRS); do \ + (echo $$i; cd $$i; $(MAKE) OPT="$(OPT)" all); \ + done + +# Test the interpreter (twice, once without .pyc files, once with) +TESTPATH= $(srcdir)/Lib:$(srcdir)/Lib/test +test: python + -rm -f $(srcdir)/Lib/test/*.pyc + PYTHONPATH=$(TESTPATH) ./python -c 'import autotest' + PYTHONPATH=$(TESTPATH) ./python -c 'import autotest' + +# Install the interpreter +install: python + $(INSTALL) python $(exec_prefix)/bin/python + @echo If this is your first time, consider make libinstall... + +# Install the library. +# If your system does not support "cp -r", try "copy -r" or perhaps +# something like find Lib -print | cpio -pacvdmu $(DESTDIR)/lib/python +libinstall: + -if test ! -d $(prefix)/lib/python; \ + then mkdir $(prefix)/lib/python; \ + fi + cp -r $(srcdir)/Lib/* $(prefix)/lib/python + @echo Ideally, run something to compile all modules now... + +# install the manual page +maninstall: + $(INSTALL) $(srcdir)/Misc/python.man \ + $(prefix)/man/man1/python.1 + +# install the include files +INCLUDEPY= $(prefix)/include/Py +inclinstall: + -if test ! -d $(INCLUDEPY); \ + then mkdir $(INCLUDEPY); \ + fi + cp $(srcdir)/Include/*.h $(INCLUDEPY) + +# install the lib*.a files and miscellaneous stuff needed by extensions +LIBP= $(exec_prefix)/lib/python +LIBPL= $(LIBP)/lib +libainstall: all + -if test ! -d $(LIBP); \ + then mkdir $(LIBP); \ + fi + -if test ! -d $(LIBPL); \ + then mkdir $(LIBPL); \ + fi for i in $(SUBDIRS); do \ - (echo $$i; cd $$i; $(MAKE) all); \ + echo $$i; $(INSTALL) $$i/lib$$i.a $(LIBPL)/lib$$i.a; \ + done + $(INSTALL) Modules/config.c $(LIBPL)/config.c + $(INSTALL) $(srcdir)/Modules/config.c.in $(LIBPL)/config.c.in + $(INSTALL) Modules/Makefile $(LIBPL)/Makefile + $(INSTALL) Modules/Setup $(LIBPL)/Setup + $(INSTALL) $(srcdir)/Modules/makesetup $(LIBPL)/makesetup + $(INSTALL) config.h $(LIBPL)/config.h + $(INSTALL) $(srcdir)/Python/frozenmain.c $(LIBPL)/frozenmain.c + +# Build the sub-Makefiles +Makefiles: config.status + (cd Modules; $(MAKE) -f Makefile.pre Makefile) + for i in . $(SUBDIRS); do \ + (echo $$i; cd $$i; $(MAKE) Makefile); \ done -tags: ctags -t Parser/*.[ch] Objects/*.[ch] Python/*.[ch] Include/*.h +# Build the toplevel Makefile +Makefile: Makefile.in config.status + CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) config.status + +# Run the configure script. If config.status already exists, +# call it with the --recheck argument, which reruns configure with the +# same options as it was run last time; otherwise run the configure +# script with options taken from the $(WITH) variable +config.status: $(srcdir)/configure + if test -f config.status; \ + then $(SHELL) config.status --recheck; \ + else $(SHELL) $(srcdir)/configure $(WITH); \ + fi + +.PRECIOUS: config.status python -TAGS: etags -t Parser/*.[ch] Objects/*.[ch] Python/*.[ch] Include/*.h +# Rerun configure with the same options as it was run last time, +# provided the config.status script exists +recheck: + $(SHELL) config.status --recheck +# Rebuild the configure script from configure.in; also rebuild config.h.in +autoconf: + (cd $(srcdir); autoconf; autoheader) + +# Create a tags file for vi +tags:: + ctags -w -t Include/*.h + for i in $(SUBDIRS); do ctags -w -t -a $$i/*.[ch]; done + sort tags -o tags + +# Create a tags file for GNU Emacs +TAGS:: + etags -t Include/*.h + for i in $(SUBDIRS); do etags -t -a $$i/*.[ch]; done + +# Add dependencies to sub-Makefiles depend: for i in $(SUBDIRS); do \ (echo $$i; cd $$i; $(MAKE) depend); \ done +# Sanitation targets -- clean leaves libraries, executables and tags +# files, which clobber removes those as well + localclean: -rm -f core *~ [@,#]* *.old *.orig *.rej - -(cd Include; rm -f core *~ [@,#]* *.old *.orig *.rej) clean: localclean -for i in $(SUBDIRS); do \ - (echo $$i; cd $$i; $(MAKE) clean); \ + (echo $$i; cd $$i; \ + if test -f Makefile; \ + then $(MAKE) clean; \ + else $(MAKE) -f Makefile.*in clean; \ + fi); \ done localclobber: localclean - -rm -f tags TAGS config.status + -rm -f tags TAGS python clobber: localclobber -for i in $(SUBDIRS); do \ - (echo $$i; cd $$i; $(MAKE) clobber); \ + (echo $$i; cd $$i; \ + if test -f Makefile; \ + then $(MAKE) clobber; \ + else $(MAKE) -f Makefile.in clobber; \ + fi); \ done +# Make things extra clean, before making a distribution distclean: clobber - -for i in $(SUBDIRS); do \ - if test -f $$i/Makefile.in; then \ - rm -f $$i/Makefile; \ - fi; \ + -$(MAKE) SUBDIRS="$(SUBDIRSTOO)" clobber + -rm -f config.status config.h Makefile + -for i in $(SUBDIRS) $(SUBDIRSTOO); do \ + for f in $$i/*.in; do \ + f=`basename "$$f" .in`; \ + if test "$$f" != "*"; then \ + echo rm -f "$$i/$$f"; \ + rm -f "$$i/$$f"; \ + fi; \ + done; \ done -Makefiles: config.status - ./config.status - -config.status: configure - ./configure - -configure: configure.in - autoconf - -tar: dist.tar.Z +# Find files with funny names +find: + find $(DISTDIRS) -type d \ + -o -name '*.[chs]' \ + -o -name '*.py' \ + -o -name '*.doc' \ + -o -name '*.sty' \ + -o -name '*.bib' \ + -o -name '*.dat' \ + -o -name '*.el' \ + -o -name '*.fd' \ + -o -name '*.in' \ + -o -name '*.tex' \ + -o -name '*,[vpt]' \ + -o -name 'Setup' \ + -o -name 'Setup.*' \ + -o -name README \ + -o -name Makefile \ + -o -name ChangeLog \ + -o -name RCS \ + -o -name Repository \ + -o -name Entries \ + -o -name Tag \ + -o -name tags \ + -o -name TAGS \ + -o -name .cvsignore \ + -o -name MANIFEST \ + -o -print -dist.tar.Z: $(DIST) +# Build a distribution tar file (run make distclean first) +# (This leaves the RCS and CVS directories in :-( ) +tar: tar cf - $(DIST) | compress >dist.tar.Z |