4.4BSD/usr/src/old/lisp/pearl/Makefile
# Makefile for pearl
# Read the ReadMe file for more info.
# This makefile creates these things:
# pearl - the executable PEARL, loaded into a lisp.
# pearl.o - the object version of PEARL's functions for fasl'ing
# into another lisp file at compile time.
# tags - tags file for PEARL source.
#
# If LibDir is changed, you must also change the pathnames in pearllib.l
LibDir = /usr/lib/lisp
CopyTo = /dev/null
ManDir = /usr/man/man1
ObjDir = /usr/ucb
Liszt = ${ObjDir}/liszt
CdTo = ..
Src = alias.l create.l db.l fix.l franz.l hash.l history.l hook.l \
inits.l lowlevel.l match.l path.l pearl.l \
pearlbase.l pearlbulk.l pearllib.l pearlsmall.l \
print.l scopy.l symord.l \
toplevel.l ucisubset.l vars.l
AllSrc = Makefile ChangeLog ReadMe implement.ms ltags \
manual.ms pearl.1 ptags template update.ms ${Src}
.l.o:
${Liszt} $<
# Make "pearl.o" and "pearl" from scratch.
# NOTE: At installations where memory is less than 2.5Mb,
# "make pearl" normally makes "small" which builds PEARL in two steps.
# If your installation has more memory, "pearl" can be changed to
# make "big" instead. In this case, "install" below should also be
# changed to make "biginstall" instead of "smallinstall".
pearl: small
echo "(savepearl)" | pearl.o
@echo pearl done
pearlbase.o: pearlbase.l
pearlbulk.o: pearlbase.o pearlbulk.l
small: pearlbase.o pearlbulk.o
${Liszt} -r pearlsmall.l -o pearl.o
big:
${Liszt} -r pearl.l
# Install the executable pearl in ObjDir and the
# fasl'able pearl.o for compiling code using PEARL in LibDir.
# NOTE: "install" can be changed to use "biginstall" on big enough machines.
install: smallinstall
smallinstall: small
echo "(savepearl)" | pearl.o
mv pearlbase.o ${LibDir}/pearlbase.o
mv pearlbulk.o ${LibDir}/pearlbulk.o
${Liszt} -r pearllib.l -o pearl.o
mv pearl.o ${LibDir}/pearl.o
mv pearl ${ObjDir}/pearl
cp pearl.1 ${ManDir}/pearl.1
@echo pearl done
biginstall: big
echo "(savepearl)" | pearl.o
mv pearl.o ${LibDir}/pearl.o
mv pearl ${ObjDir}/pearl
cp pearl.1 ${ManDir}/pearl.1
@echo pearl done
tags: /dev/tty ${Src}
-rm -f tags
awk -f ltags ${Src} | sort > tags
# For distribution purposes.
copysource: ${AllSrc}
(tar cf - ${AllSrc} | (cd ${CopyTo} ; tar xf -))
scriptcatall: ${AllSrc}
@(cd ${CdTo} ; scriptcat pearl pearl ${AllSrc})
clean:
-rm -f pearl pearl.o