You can find the set of scripts that I use for
building and packaging CMU CL, together with a
fairly readable set of instructions
here
in their current release 2.4.
The scripts allow you to build multiple independent
targets from the same source-tree, and give fairly
good control of the various stages of the
build-process.
The scripts are also available through anonymous CVS:
cvs -d ':pserver:anonymous@cvs.pmsf.net:/prj/EXPORT/pubcvs' login
# Password is guest
cvs -d ':pserver:anonymous@cvs.pmsf.net:/prj/EXPORT/pubcvs' co build-tools
It is usually sensible to check out the build-tools and
the CMUCL sources into the same directory, e.g.:
cvs -d ':pserver:anonymous@cvs.pmsf.net:/prj/EXPORT/pubcvs' login
# Password is guest
cvs -d ':pserver:anonymous@cvs.pmsf.net:/prj/EXPORT/pubcvs' co build-tools
cvs -d ':pserver:anonymous@cvs2.cons.org:/home/anoncvs/CVS-cmucl' login
# The password is anonymous
cvs -d ':pserver:anonymous@cvs2.cons.org:/home/anoncvs/CVS-cmucl' co src
# Now create target directory, configure, and build, e.g.:
./build-tools/create-target.sh linux linux_gencgc x86
# Possibly frob linux/setenv.lisp here
./build-tools/build-world.sh linux
./build-tools/rebuild-lisp.sh linux
./build-tools/build-world.sh linux
./build-tools/load-world.sh linux "18e+ 2003-04-01"