########################################################################
# 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.
########################################################################

# Toplevel Makefile for Python
# Note -- if recursive makes fail, try adding MAKE=make

# Substitutions by configure
srcdir=		@srcdir@
VPATH=		@srcdir@
INSTALL=	@INSTALL@
RANLIB=		@RANLIB@

# Machine-dependent subdirectories
MACHDEP=	@MACHDEP@

# 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.  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)

# Expanded directories
MANDIR=$(prefix)/man
BINDIR=$(exec_prefix)/bin
LIBDIR=$(exec_prefix)/lib
INCLUDEDIR=$(prefix)/include
SCRIPTDIR=$(prefix)/lib

# Symbols used for using shared libraries
SO=		@SO@
LDSHARED=	@LDSHARED@
CCSHARED=	@CCSHARED@
LINKFORSHARED=	@LINKFORSHARED@
DESTSHARED=	$(SCRIPTDIR)/python/$(MACHDEP)

# 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=		@OPT@

# 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 $(BINDIR)/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 $(LIBDEST)
LIBDEST=	$(SCRIPTDIR)/python
libinstall:
		-if test ! -d $(LIBDEST); \
		then mkdir $(LIBDEST); \
		fi
		cp -r $(srcdir)/Lib/* $(LIBDEST)
		PYTHONPATH=$(LIBDEST) \
			./python $(LIBDEST)/compileall.py $(LIBDEST)
		cd Modules; make sharedinstall

# install the manual page
maninstall:
		$(INSTALL) $(srcdir)/Misc/python.man \
			$(MANDIR)/man1/python.1

# install the include files
INCLUDEPY=	$(INCLUDEDIR)/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=		$(LIBDIR)/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; $(INSTALL) $$i/lib$$i.a $(LIBPL)/lib$$i.a; \
			$(RANLIB) $(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

# install the dynamically loadable modules
sharedinstall:
		cd Modules; $(MAKE) \
			OPT="$(OPT)" \
			SO="$(SO)" \
			LDSHARED="$(LDSHARED)" \
			CCSHARED="$(CCSHARED)" \
			LINKFORSHARED="$(LINKFORSHARED)" \
			DESTSHARED="$(DESTSHARED)" \
			sharedinstall

# 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

# 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

# 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 Include/*.h
		for i in $(SUBDIRS); do etags -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

clean:		localclean
		-for i in $(SUBDIRS); do \
			(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 python

clobber:	localclobber
		-for i in $(SUBDIRS); do \
			(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
		-$(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

# 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

# Build a distribution tar file (run make distclean first)
# (This leaves the RCS and CVS directories in :-( )
tar:
		tar cf - $(DIST) | gzip --best >dist.tar.gz
