aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-11-02 00:07:23 +0000
committerdos-reis <gdr@axiomatics.org>2010-11-02 00:07:23 +0000
commitab3fe251d85283bb3efc8d8e5ba25fdad7893639 (patch)
tree237d558ac7bbcb1f68d7fb0451c812fd9ca997fd
parentc048ef620f44c4371f65a3313d0dc51ff6793120 (diff)
downloadopen-axiom-ab3fe251d85283bb3efc8d8e5ba25fdad7893639.tar.gz
Remove Makefile.pamphlet
-rw-r--r--ChangeLog5
-rw-r--r--Makefile.in51
-rw-r--r--Makefile.pamphlet670
-rwxr-xr-xbuild-setup.sh3
4 files changed, 54 insertions, 675 deletions
diff --git a/ChangeLog b/ChangeLog
index 8aa1a69c..269d59de 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2010-11-01 Gabriel Dos Reis <gdr@cs.tamu.edu>
+ * Makefile.pamphlet: Remove.
+ * build-setup.sh: Don't mention it.
+
+2010-11-01 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
* config/open-axiom.m4 (OPENAXIOM_GCL_HACKS): Remove. No longer
necesary with newer GCL-2.6.8pre.
* configure.ac: Dont' call it.
diff --git a/Makefile.in b/Makefile.in
index 1614c07d..b680205b 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,52 @@
-
-## ----------------------------------------
+## Copyright (c) 1991-2002, The Numerical Algorithms Group Ltd.
+## All rights reserved.
+## Copyright (C) 2007-2010, Gabriel Dos Reis.
+## All rights reserved.
+##
+## Redistribution and use in source and binary forms, with or without
+## modification, are permitted provided that the following conditions are
+## met:
+##
+## - Redistributions of source code must retain the above copyright
+## notice, this list of conditions and the following disclaimer.
+##
+## - Redistributions in binary form must reproduce the above copyright
+## notice, this list of conditions and the following disclaimer in
+## the documentation and/or other materials provided with the
+## distribution.
+##
+## - Neither the name of The Numerical ALgorithms Group Ltd. nor the
+## names of its contributors may be used to endorse or promote products
+## derived from this software without specific prior written permission.
+##
+## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+## IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+## TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+## PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+## OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+## EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+## PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+## PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+## LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+## NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+## SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+##
+
+# The build system is set up so that if `make all' completes successfully
+# then `make install' will not modify any file in the build directory.
+# Consequently it is possible to issue `make all' as an one user
+# to build the whole system, and install it as another user. The typical
+# case is: on Unix-like system, build as ordinary user, then install as
+# superuser.
+
+# The build flow of OpenAxiom seems, at first sight, a bit intricate to
+# describe. This description is STILL IN WORK IN PROGRESS. Therefore
+# it is incorrekt, incomplet, and iNconSiStenT.
+
+
+## --------------------------------------------
## -- Old-style OpenAxiom makefile variables --
-## ----------------------------------------
+## --------------------------------------------
GCLOPTS=@GCLOPTS@
diff --git a/Makefile.pamphlet b/Makefile.pamphlet
deleted file mode 100644
index bb839772..00000000
--- a/Makefile.pamphlet
+++ /dev/null
@@ -1,670 +0,0 @@
-%% Oh Emacs, this is a -*- Makefile -*-, so give me tabs.
-\documentclass{article}
-\usepackage{axiom}
-
-\title{The Top Level \File{Makefile}}
-\author{Gabriel Dos~Reis \and Timothy Daly}
-
-\begin{document}
-\maketitle
-
-\begin{abstract}
-\end{abstract}
-\eject
-
-\tableofcontents
-\eject
-
-\section{General Makefile Structure}
-\label{sec:general-structure}
-
-All the Makfiles in the \Tool{OpenAxiom} build systen are structured in very
-similar ways. First, they have to build all of the files
-in their own directory. Second, they have to invoke \Tool{Make} on each
-of their subdirectories. This forms a natural recursive tree walk of
-the OpenAxiom source system directory structure. Third, they have to
-explain all of the details about the directory, the files and the
-target rules it manages and its subdirectories.
-
-This section also serves as a reference for the meaning of the
-general targets and variables within the \Tool{OpenAxiom} build system.
-
-\subsection{Standard targets}
-\label{sec:general-structure:std-targets}
-
-This section describes the meaning of \Tool{Make} targets present in every
-Makefile of the \Tool{OpenAxiom} build system. These are quite standard,
-so that \Tool{OpenAxiom} can be built just like most software using the
-GNU build machinery. All of the targets discussed in this sub-section
-are recursive.
-
-\subsubsection{[[all]]}
-\label{sec:general-structure:std-targets:all}
-
-This target builds all of the \Tool{OpenAxiom} sub-system controlled by the
-specific \File{Makefile}. In particular, the [[all]] target in the
-toplevel \File{Makefile} builds all the \Tool{OpenAxiom} system.
-
-According to GNU standard practice, the [[all]] target should not
-build documentation files and those should be explicitly asked for.
-However, \Tool{OpenAxiom} uses the literate programming paradigm (which is
-not mainstream in most GNU software). Consequently, some rules must
-be broken somewhere. Which ones and where are questions not answered;
-those would be suject to discussion.
-
-\subsubsection{[[install]]}
-\label{sec:general-structure:std-targets:install}
-
-The purpose of this target is to build \Tool{OpenAxiom} and install for
-use. The build system is set up so that if [[make all]] just completed
-then [[make install]] will not modify any file in the build directory,
-Consequently it is possible to issue [[make all]] as one
-user to build the whole system, and install it as another user. The typical
-case is: on Unix-like system, build as ordinary user, then install as
-superuser.
-
-At the moment [[make install]] will create the sub-directory \File{axiom}
-under the directory given [[$(prefix)]] --- default \File{/usr/local} ---
-and install the \Tool{OpenAxiom} systen there. We don't use
-[[$(exec_prefix)]] yet --- and we should.
-
-\paragraph{Pre-installation commands.}
-FIXME: To be written
-
-\paragraph{Post-installation command.}
-FIXME: To be written
-
-\subsubsection{[[install-html]]}
-\label{sec:general-structure:std-targets:install-html}
-
-\subsubsection{[[install-dvi]]}
-\label{sec:general-structure:std-targets:install-dvi}
-
-\subsubsection{[[install-pdf]]}
-\label{sec:general-structure:std-targets:install-pdf}
-
-\subsubsection{[[install-ps]]}
-\label{sec:general-structure:std-targets:install-ps}
-
-\subsubsection{[[install-strip]]}
-\label{sec:general-structure:std-targets:install-strip}
-
-\subsubsection{[[uninstall]]}
-\label{sec:general-structure:std-targets:uninstall}
-
-
-\subsubsection{[[clean]]}
-\label{sec:general-structure:std-targets:clean}
-
-
-\subsubsection{[[mostlyclean]]}
-\label{sec:general-structure:std-targets:mostlyclean}
-
-
-\subsubsection{[[distclean]]}
-\label{sec:general-structure:std-targets:distclean}
-
-
-\subsubsection{[[maintainer-clean]]}
-\label{sec:general-structure:std-targets:maintainer-clean}
-
-
-\subsubsection{[[TAGS]]}
-\label{sec:general-structure:std-targets:TAGS}
-
-
-\subsubsection{[[pdf]]}
-\label{sec:general-structure:std-targets:pdf}
-
-\subsubsection{[[ps]]}
-\label{sec:general-structure:std-targets:ps}
-
-\subsubsection{[[dvi]]}
-\label{sec:general-structure:std-targets:dvi}
-
-\subsubsection{[[html]]}
-\label{sec:general-structure:std-targets:html}
-
-\subsubsection{[[info]]}
-\label{sec:general-structure:std-targets:info}
-
-
-\subsubsection{[[dist]]}
-\label{sec:general-structure:std-targets:dist}
-
-\subsubsection{[[check]]}
-\label{sec:general-structure:std-targets:check}
-
-\subsubsection{[[installcheck]]}
-\label{sec:general-structure:std-targets:installcheck}
-
-\subsubsection{[[installdirs]]}
-\label{sec:general-structure:std-targets:installdirs}
-
-
-
-\subsection{Standard installation variables}
-\label{sec:general-structure:std-install}
-
-\subsubsection{[[prefix]]}
-\label{sec:general-structure:std-vars:prefix}
-
-\subsubsection{[[exec_prefix]]}
-\label{sec:general-structure:std-vars:exec-prefix}
-
-\subsubsection{[[bindir]]}
-\label{sec:general-structure:std-vars:bindir}
-
-\subsubsection{[[sbindir]]}
-\label{sec:general-structure:std-vars:sbindir}
-
-\subsubsection{[[libexec]]}
-\label{sec:general-structure:std-vars:libexec}
-
-\subsubsection{[[datarootdir]]}
-\label{sec:general-structure:std-vars:datarootdir}
-
-\subsubsection{[[datadir]]}
-\label{sec:general-structure:std-vars:datadir}
-
-\subsubsection{[[sysconfdir]]}
-\label{sec:general-structure:std-vars:sysconfdir}
-
-\subsubsection{[[sharedstatedir]]}
-\label{sec:general-structure:std-vars:sharedstatedir}
-
-\subsubsection{[[localstatedir]]}
-\label{sec:general-structure:std-vars:localstatedir}
-
-\subsubsection{[[includedir]]}
-\label{sec:general-structure:std-vars:includedir}
-
-\subsubsection{[[oldincludedir]]}
-\label{sec:general-structure:std-vars:oldincludedir}
-
-\subsubsection{[[docdir]]}
-\label{sec:general-structure:std-vars:docdir}
-
-\subsubsection{[[infodir]]}
-\label{sec:general-structure:std-vars:infodir}
-
-\subsubsection{[[htmldir]]}
-\label{sec:general-structure:std-vars:htmldir}
-
-\subsubsection{[[dvidir]]}
-\label{sec:general-structure:std-vars:dvidir}
-
-\subsubsection{[[pdfdir]]}
-\label{sec:general-structure:std-vars:pdfdir}
-
-\subsubsection{[[psdir]]}
-\label{sec:general-structure:std-vars:psdir}
-
-\subsubsection{[[libdir]]}
-\label{sec:general-structure:std-vars:libdir}
-
-\subsubsection{[[lispdir]]}
-\label{sec:general-structure:std-vars:lispdir}
-
-\subsubsection{[[localedir]]}
-\label{sec:general-structure:std-vars:localedir}
-
-\subsubsection{[[mandir]]}
-\label{sec:general-structure:std-vars:mandir}
-
-\subsubsection{[[man1dir]]}
-\label{sec:general-structure:std-vars:man1dir}
-
-\subsubsection{[[man2dir]]}
-\label{sec:general-structure:std-vars:man2dir}
-
-\subsubsection{[[manext]]}
-\label{sec:general-structure:std-vars:manext}
-
-\subsubsection{[[man1ext]]}
-\label{sec:general-structure:std-vars:man1ext}
-
-\subsubsection{[[man2ext]]}
-\label{sec:general-structure:std-vars:man2ext}
-
-\subsection{Standard build variables}
-\label{sec:general-structure:std-build}
-
-\subsection{Standard source variables}
-\label{sec:general-structure:std-source}
-
-\subsubsection{[[srcdir]]}
-\label{sec:general-structure:std-source:srcdir}
-
-
-
-\section{The Build Flow}
-\label{sec:build-flow}
-
-The build flow of \Tool{OpenAxiom} seems, at first sight, a bit
-intricate to describe.
-This description is STILL IN WORK IN PROGRESS. Therefore it is
-incorrekt, incomplet, and iNconSiStenT.
-
-Second, we need a Lisp runtime system. If one is available from
-the build environment, we are done. In fact, currently we do insist that
-the Lisp runtime system is \Tool{GCL}.
-
-Third, we have to `make' the subdirectory \File{src/} where all the
-work actually happens. Part of \Tool{OpenAxiom} is written in Boot, part
-in Common Lisp, part in C, and the rest in Spad. The Spad compiler
-is written partly in Boot, thefore \File{src/algebra/},
-\File{src/input/}, \File{src/interp/} depend on \File{src/boot/}. The rest
-is mostly written in C and depends only on \File{src/lib/}. The
-interperter and the compiler also depend on \File{src/lib/} for interface
-with C (sockets and all that).
-\begin{verbatim}
- DRAW a DIAGRAM!
-\end{verbatim}
-
-The \File{src/} directory looks like this:
-\begin{verbatim}
- src/
- algebra/
- booklets/
- boot/
- clef/
- doc/
- driver/
- etc/
- graph/
- hyper/
- include/
- input/
- interp/
- lib/
- lisp/
- script/
- share/
- sman/
-\end{verbatim}
-
-\File{src/algebra/}, \File{src/input/} depend on \File{src/interp},
-\File{src/interp/} depends on \File{src/boot}.
-
-Hue. This discussion is better done in src/Makefile. Move it there.
-
-\subsection{Build components}
-
-Building \Tool{OpenAxiom} consists of building several logical components.
-These loosely correspond to the sub-directories of \File{src/} shown in
-the previous section. They can be built individually by invoking
-[[make all-xxx]] where [[xxx]] is one of
-\begin{verbatim}
- algebra asq axiomsys book boot clef doc graph hyper
- input interpsys lib lisp sman driver src
-\end{verbatim}
-
-The \Tool{OpenAxiom} source files reside in \File{src/}. The directory
-\File{gcl/} contains the source code for \Tool{GCL}. They are
-not formally part of the
-\Tool{OpenAxiom} distribution. Rather, they are tools \Tool{OpenAxiom} depends on.
-They are bundled with the \Tool{OpenAxiom} source code only for convenience.
-
-\section{The Top Level \File{Makefile}}
-<<*>>=
-<<environment>>
-
-subdir =
-
-SUBDIRS = src
-
-build_srcdir = $(builddir)/src
-
-AXIOM_SRC_TARGETS = all-algebra all-asq all-axiomsys all-boot all-share \
- all-clef all-doc all-graph all-hyper all-input all-interpsys \
- all-lib all-lisp all-sman all-driver all-src all-databases all-utils
-
-.PHONY: all $(AXIOM_SRC_TARGETS)
-all: all-ax
-
-all-ax: all-src
- @echo finished system build on `date` | tee > lastBuildDate
-
-$(AXIOM_SRC_TARGETS): stamp-rootdirs
-all-src: stamp-rootdirs @oa_all_prerequisites@
-
-ifeq ($(strip $(oa_include_gcl)),yes)
-all-boot all-lisp all-interpsys all-axiomsys \
- all-algebra all-input: all-gcl
-endif
-
-$(AXIOM_SRC_TARGETS):
- cd "$(build_srcdir)" && $(MAKE) $@
-
-.PHONY: all-algstrap
-all-algstrap:
- cd src/algebra && $(MAKE) $@
-
-<<rootdirs>>
-
-<<gcl>>
-<<install>>
-
-.PHONY: check
-check:
- cd src && $(MAKE) all-check
-
-
-mostlyclean-local:
- @-rm -f lastBuildDate
-
-clean-local: mostlyclean-local
- @ rm -f stamp-*
- @ rm -rf int
-
-distclean-local: clean-local
- @-rm -rf build
- @-rm -rf "$(axiom_targetdir)"
- @-rm -f config.status config.log
- @-rm -f Makefile
-
-$(top_builddir)/config.status: $(top_srcdir)/configure
- $(SHELL) ./config.status --recheck
-@
-
-\subsection{[[pamphlets]]}
-
-The [[pamphlets]] variable is to be defined by every Makefile. It shall
-contain the list of all pamphlet files of interest in the directory. The
-value of this variable is used to build documentation files.
-
-At the moment, the toplevel directory contains only two pamphlet files
-of interest:
-<<pamphlets>>=
-pamphlets = configure.ac.pamphlet Makefile.pamphlet
-@
-
-\subsection{Environment}
-
-\subsubsection{[[PACKAGE_STRING]]}
-The is variable is a unique string intended to show up
-in the banner at startup time. I can be anything but is intended
-to be a unique way of identifying the SVN version so we can
-reference bug reports to versions. It is used in the [[src/interp/Makefile]]
-to set a lisp variable [[boot::*build-version*]]. This variable
-is used by the [[yearweek]] function to construct the banner.
-
-The banner also contains a build timestamp so we can determine
-when the image is compiled. We touch the file
-called [[$(axiom_targetdir)/timestamp]] and using a formatted form
-of its file information. See the [[YEARWEEK]] variable in the
-[[src/interp/Makefile.pamphlet]] and the [[yearweek]] function in
-[[src/interp/util.lisp.pamphlet]].
-
-\subsubsection{AXIOM\_X11\_CFLAGS}
-
-The variable [[AXIOM_X11_CFLAGS]] holds the C compiler flags necessary
-to compile part of OpenAxiom that depends on the X Window System. It is
-computed at configure-time, based on the characteristics of the target
-platform.
-
-\subsubsection{AXIOM\_X11\_LDFLAGS}
-
-The variable [[AXIOM_X11_LDFLAGS]] holds the linker flags necessary
-for parts of OpenAxiom thar depends on the X Window System. It is
-computed at configure-time, based on the characteristics of the target
-platform.
-
-\subsubsection{INC}
-The [[INC]] directory contains all the include files for the C
-programs.
-
-\subsubsection{[[subdir]]}
-
-This variable should be defined every Makefile. It shall contain the
-relative path (ending with a slash) from the toplevel source directory
-to the directory contaning that Makefile. For the toplevel directory, it
-is empty.
-
-[[subdir]] is used to instruct [[config.status]] --- created at
-configuration time --- to recreate a particular Makefile if needed.
-
-
-\subsubsection{The [[axiom]] command}
-The install directory prefix is \File{/usr/local/} by default. This
-means that the script \Tool{axiom} is installed in the directory
-\File{/usr/local/bin/}, and the rest of the \Tool{OpenAxiom} system
-is installed in \File{/usr/local/lib/axiom/}. The install directory
-prefix can be defined at configure time using the option
-\verb!--prefix!.
-
-The [[DOCUMENT]] variable is now set to replace the direct call
-to the [[$SPADBIN/document]] command. This will allow it to be
-changed on the command line.
-<<environment>>=
-
-## ----------------------------------------
-## -- Old-style OpenAxiom makefile variables --
-## ----------------------------------------
-
-GCLOPTS=@GCLOPTS@
-
-<<pamphlets>>
-
-@
-\subsection{rootdirs}
-Note that the -p (parent) option to mkdir will make all intermediate
-directories as well if they don't exist.
-
-<<rootdirs>>=
-stamp-rootdirs:
- @$(STAMP) stamp-rootdirs
-
-@
-
-\subsection{\File{gcl/}}
-
-At the moment, \Tool{OpenAxiom} uses \Tool{GCL} as its Lisp platform.
-\Tool{GCL} may not be available for a given host. In that case,
-we must build a running image.
-
-We delegate the details of constructing common lisp to the Makefiles in
-the subtree. We need only ensure that the Makefiles are up to date.
-
-If and when we build GCL, it is ``installed'' in [[$(axiom_builddir)]].
-The \File{gcl} binary will be accessible as
-[[$(axiom_build_bindir)/gcl$(EXEEXT)]].
-
-The augmented fresh Lisp image is also accessible as
-[[$(axiom_build_bindir)/lisp$(EXEEXT)]] for use to build Boot translators
-and the \Tool{OpenAxiom} interpreter and compiler.
-
-\subsubsection{\File{src/lisp}}
-
-The [[$(builddir)/src/lisp]] dir is necessary to keep collectfn and sys-proclaims.
-The collectfn.lsp file is a special extension to GCL to collect type
-information during a compile-file. This information gets written out
-to a [[.fn]] file. These [[.fn]] files can be loaded and written out
-as a file containing proclaims information. If this proclaims information
-is available at compile time then the resulting function calls are much
-more efficient. The [[sys-proclaims]] file contains type information
-about standard common lisp function calls.
-
-<<gcl>>=
-.PHONY: all-gcl
-all-gcl: $(axiom_build_bindir)/gcl$(EXEEXT)
-
-$(axiom_build_bindir)/gcl$(EXEEXT):
- if test "$(srcdir)" != "$(builddir)" -a ! -d gcl; then \
- cp -r "$(srcdir)"/gcl "$(builddir)"; \
- fi; cd gcl; \
- ./configure --prefix="$(axiom_abs_builddir)" ${GCLOPTS} && \
- $(MAKE) && $(MAKE) install
-@
-
-\subsection{install}
-<<install>>=
-.PHONY: install
-install:
- @echo Installing OpenAxiom in $(DESTDIR)$(prefix)
- @$(mkinstalldirs) "$(DESTDIR)$(open_axiom_installdir)"
- cp -pr "$(builddir)"/$(target)/* "$(DESTDIR)$(open_axiom_installdir)"
- rm -f "$(DESTDIR)$(bindir)"/open-axiom
- @$(mkinstalldirs) "$(DESTDIR)$(bindir)"
- $(INSTALL_PROGRAM) src/driver/open-axiom$(EXEEXT) "$(DESTDIR)$(bindir)"
- @echo OpenAxiom installation finished.
-@
-
-Until now, pamphlet files are also \LaTeX{}ed as part of a normal build.
-We are moving to more standard build process where the documentation
-is made as a separate rule. Please, this does not go against the
-literate programming movement. The new build machinery has a general
-make target [[dvi]] that builds DVI files of the corresponding pamphlet
-files. It does so by consulting the value of the variable [[pamphlets]]
---- which should be defined by every Makefile.
-
-\section{The Platform Makefiles}
-
-The Top Level Makefile examines the SPAD variable to determine
-the target build platform. It sets up the general structure
-of the world. Then it invokes one of these platform Makefiles.
-Each of these Makefiles sets several
-environment variables that are specific to this platform.
-
-\subsubsection{The [[PLF]] variable }
-
-\subsubsection{The [[LDF]] variable }
-
-The LDF variable is the generic loader flags. This gives information
-about where various libraries are located on specific platforms. On
-linux, for instance, the library [[libXpm.a]] is used by the graphics
-routines. This library is usually found in [[/usr/X11R6/bin/libXpm.a]].
-Thus, on the linux platform LDF is defined as
-\begin{verbatim}
-LDF= -L/usr/X11R6/lib
-\end{verbatim}
-
-\subsubsection{The [[CC]] variable }
-
-\subsubsection{The [[AWK]] variable }
-
-On most systems the gnu toolset is the default. Thus we can just use
-'awk' and the program works. However, on some systems we need to
-specify that we are using the gnu toolset, and we need to use
-[[gawk]] instead of [[awk]].
-
-\subsubsection{The [[PATCH]] variable }
-
-On most systems the gnu toolset is the default. Thus we can just use
-'patch' and the program works. However, on some systems we need to
-specify that we are using the gnu toolset, and we need to use
-[[gpatch]] instead of [[patch]].
-
-\subsubsection{The [[AXIOMXLROOT]] variable }
-
-\subsubsection{The [[O]] variable }
-Various Common Lisp systems prefer certain filename extensions.
-This defaults to ``o'' so a compile of foo.lisp becomes foo.o
-but other systems prefer .fasl so a compile of foo.lisp becomes
-foo.fasl. Change this based on the target lisp.
-
-\subsubsection{The [[DAASE]] variable}
-OpenAxiom uses 5 files, the *.daase files, which are called ``the
-databases''. They contain cross-reference, signatures,
-and other information needed by the interpreter and compiler.
-When the system is being built from scratch these databases
-need to exist. However, they get dynamically rebuilt after
-the algebra files are compiled. The bootstrap versions of these
-databases live in the [[src/share]] subdirectory. OpenAxiom will
-use the value of the shell variable [[DAASE]] to find its
-databases. If this variable is unbound it uses the standard
-[[$(axiom_targetdir)]] path. Note that OpenAxiom will append the string
-[[/algebra]] to the value of [[DAASE]]. The default value setting
-given here is:
-
-[[DAASE=$(axiom_src_datadir)]]
-
-so [[$(axiom_src_datadir)/algebra/*.daase]] will be the
-OpenAxiom bootstrap database files.
-
-\subsection{Makefile.MACOSX}
-On the MAC OSX someone decided (probably a BSDism) to rename the
-[[SIGCLD]] signal to [[SIGCHLD]]. In order to handle this in the
-low level C socket code (in particular, in [[src/lib/fnct_key.c]])
-we change the platform variable to be [[MACOSXplatform]] and create
-this new stanza.
-
-We need to add [[-I/usr/include/sys]] because [[malloc.h]] has been
-moved on this platform.
-
-We need to explicitly put [[-I/usr/include]] before
-[[-I/usr/include/sys]] because the MAC seems to search in a
-different order than linux systems. The [[sys]] versions of
-the include files are broken, at least for OpenAxiom use.
-
-
-
-\section{Cleanup}
-Following the standard practice of GNU build machinery, there are
-three [[make]] rules for cleanup:
-\begin{enumerate}
-\item [[mostlyclean]]
-\item [[clean]]
-\item [[distclean]]
-\end{enumerate}
-
-[[mostlyclean]] acts almost like [[clean]] except that it does not
-delete some files that are time-consuming to make (if remaking is
-not needed), e.g. [[libspad.a]] or [[lisp]].
-
-[[clean]] deletes any file created by running [[make]].
-
-[[distclean]] cleans up the build directory to the point where it almost
-reverts to the state of the build directory before the initial build.
-
-In summary [[clean]] can be interpreted as a prerequisite of [[distclean]],
-and [[mostlyclean]] a prerequisite of [[clean]].
-
-
-To ease the process of writing rules to clean up directories, the new
-build machinery has divided each general rule cleanup rule into two
-categories
-\begin{itemize}
-\item [[\%-generic]]
-\item [[\%-local]]
-\end{itemize}
-
-The stem [[\%]] standards for [[mostlyclean]], [[clean]], and
-[[distclean]]. The [[\%-generic]] rules are defined by the
-build machinery. Only the tree rules [[\%-local]] need to be defined
-by Makefiles. The intent is that they do directory-specific cleanup.
-
-
-
-\subsection{[[generic cleanups]]}
-
-There are many cleanup tasks that are common to almost all directories.
-They are handled by generic cleanup rules
-\begin{itemize}
-\item [[mostlyclean-generic]]
-\item [[clean-generic]]
-\item [[distclean-generic]]
-\end{itemize}
-For instances, they delete intermediate files produced by \LaTeX{}.
-If you're writing a new Makefile for OpenAxiom, you do not have to
-define these rules.
-
-\subsection{[[local cleanups]]}
-
-Some Makefiles have specific needs about cleanups. For example, the
-directory [[src/lib]] that contains mostly C codes would need to delete
-intermediate files for C codes weaved from pmaphlets. They must
-handle those through
-\begin{itemize}
-\item [[mostlyclean-local]]
-\item [[clean-local]]
-\item [[distclean-local]]
-\end{itemize}
-
-Notice that each Makefile should define those targets, even if they do
-nothing.
-
-
-\end{document}
-
diff --git a/build-setup.sh b/build-setup.sh
index 64520b21..370ada79 100755
--- a/build-setup.sh
+++ b/build-setup.sh
@@ -12,8 +12,7 @@ autoheader || error "could not re-generate config/openaxiom-c-macros.h"
autoconf || error "could not re-generate configure"
## subdirectories that contain Makefile pamphlets of interest
-SUBDIRS=" . \
- src \
+SUBDIRS=" src \
src/interp \
src/algebra \
src/input \