# Makefile for installing CLISP

# -------------- Start of configurable section --------------------

# Linking sets to be installed:
linkingsets = base full

# Directories used by "make install":
# Common base directory for not architecture dependent files.
prefix = /usr/local
# Common base directory for architecture dependent files.
exec_prefix = $(prefix)
# Directory where executables are installed.
bindir = $(exec_prefix)/bin
# Directory where manual pages are installed.
mandir = $(exec_prefix)/man
# Directory where manual pages in HTML format are installed.
htmldir = $(exec_prefix)/share/html
# Directory where manual pages in DVI format are installed.
dvidir = $(exec_prefix)/share/dvi
# Directory where documentation is installed.
docdir = $(exec_prefix)/doc
lispdocdir = $(docdir)/clisp
libdir = $(exec_prefix)/lib
lisplibdir = $(libdir)/clisp
#ifdef GNU_GETTEXT
# If you have $(exec_prefix) different from $(prefix), and indend to use
# different versions of CLISP on different architectures, replace the
# following line with:  datadir = $(exec_prefix)/@DATADIRNAME@
datadir = $(prefix)/@DATADIRNAME@
localedir = $(datadir)/locale
#endif

#ifndef UNIX_BINARY_DISTRIB
# Programs used by "make":
#ifdef UNIX_AIX
CC = xlc
#else
#if defined(UNIX_SUNOS4) || defined(UNIX_CYGWIN32)
CC = gcc
#else
#ifdef UNIX_HPUX
CC = cc -Aa
#else
CC = cc
#endif
#endif
#endif
CFLAGS = -O

#endif
# Programs used by "make install":
INSTALL = cp
INSTALL_PROGRAM = $(INSTALL)
INSTALL_DATA = $(INSTALL)

# -------------- End of configurable section --------------------

SHELL = /bin/sh

all : base/lisp.run full/lisp.run

#ifndef UNIX_BINARY_DISTRIB
base/lisp.run : @@BASE_FILES@@
	$(CC) $(CFLAGS) @@BASE_LIBS@@ -o base/lisp.run

full/lisp.run : @@FULL_FILES@@
	$(CC) $(CFLAGS) @@FULL_LIBS@@ -o full/lisp.run

#endif
install : install-bin install-man install-doc

install-bin : all force
	if [ ! -d $(prefix) ] ; then mkdir $(prefix) ; fi
	if [ ! -d $(exec_prefix) ] ; then mkdir $(exec_prefix) ; fi
	if [ ! -d $(libdir) ] ; then mkdir $(libdir) ; fi
	if [ ! -d $(lisplibdir) ] ; then mkdir $(lisplibdir) ; fi
	tar cf - data | (cd $(lisplibdir) && tar xf -)
	(cd $(lisplibdir) && rm -rf $(linkingsets))
	tar cf - clisp-link linkkit | (cd $(lisplibdir) && tar xf -)
	tar cf - $(linkingsets) | (cd $(lisplibdir) && tar xf -)
#ifdef GNU_GETTEXT
	if [ ! -d $(datadir) ] ; then mkdir $(datadir) ; fi
	if [ ! -d $(localedir) ] ; then mkdir $(localedir) ; fi
	(cd locale && tar cf - .) | (cd $(localedir) && tar xf -)
#endif
	if [ ! -d $(bindir) ] ; then mkdir $(bindir) ; fi
#ifdef UNIX_BINARY_DISTRIB
	./hardcode -DLISPLIBDIR='$(lisplibdir)' -DLOCALEDIR='$(localedir)' clisp $(bindir)/clisp
#else /* new executable */
	$(CC) $(CFLAGS) -DLISPLIBDIR='"$(lisplibdir)"' -DLOCALEDIR='"$(localedir)"' src/clisp.c -o $(bindir)/clisp
#endif

#ifdef GNU_READLINE
install-man : doc/clisp.1 doc/clisp.html doc/clreadline.3 doc/clreadline.html doc/clreadline.dvi force
#else
install-man : doc/clisp.1 doc/clisp.html force
#endif
	if [ ! -d $(prefix) ] ; then mkdir $(prefix) ; fi
	if [ ! -d $(exec_prefix) ] ; then mkdir $(exec_prefix) ; fi
	if [ ! -d $(mandir) ] ; then mkdir $(mandir) ; fi
	if [ ! -d $(mandir)/man1 ] ; then mkdir $(mandir)/man1 ; fi
	if [ ! -d $(exec_prefix)/share ] ; then mkdir $(exec_prefix)/share ; fi
	if [ ! -d $(htmldir) ] ; then mkdir $(htmldir) ; fi
	if [ ! -d $(dvidir) ] ; then mkdir $(dvidir) ; fi
	$(INSTALL_DATA) doc/clisp.1 $(mandir)/man1/clisp.1
	$(INSTALL_DATA) doc/clisp.html $(htmldir)/clisp.html
	test ! -f doc/clisp.dvi || $(INSTALL_DATA) doc/clisp.dvi $(dvidir)/clisp.dvi
#ifdef GNU_READLINE
	if [ ! -d $(mandir)/man3 ] ; then mkdir $(mandir)/man3 ; fi
	$(INSTALL_DATA) doc/clreadline.3 $(mandir)/man3/clreadline.3
	$(INSTALL_DATA) doc/clreadline.html $(htmldir)/clreadline.html
	$(INSTALL_DATA) doc/clreadline.dvi $(dvidir)/clreadline.dvi
#endif

install-doc : force
	if [ ! -d $(prefix) ] ; then mkdir $(prefix) ; fi
	if [ ! -d $(exec_prefix) ] ; then mkdir $(exec_prefix) ; fi
	if [ ! -d $(docdir) ] ; then mkdir $(docdir) ; fi
	if [ ! -d $(lispdocdir) ] ; then mkdir $(lispdocdir) ; fi
	tar cf - ANNOUNCE COPYRIGHT GNU-GPL SUMMARY NEWS README README.de README.es MAGIC.add doc | (cd $(lispdocdir) && tar xf -)

force:

