BSD 4_4 development
[unix-history] / usr / src / old / lisp / pearl / Makefile
CommitLineData
6cbecd82
C
1
2# Makefile for pearl
3
4# Read the ReadMe file for more info.
5# This makefile creates these things:
6# pearl - the executable PEARL, loaded into a lisp.
7# pearl.o - the object version of PEARL's functions for fasl'ing
8# into another lisp file at compile time.
9# tags - tags file for PEARL source.
10#
11
12# If LibDir is changed, you must also change the pathnames in pearllib.l
13LibDir = /usr/lib/lisp
14CopyTo = /dev/null
15ManDir = /usr/man/man1
16ObjDir = /usr/ucb
17Liszt = ${ObjDir}/liszt
18CdTo = ..
19
20Src = alias.l create.l db.l fix.l franz.l hash.l history.l hook.l \
21 inits.l lowlevel.l match.l path.l pearl.l \
22 pearlbase.l pearlbulk.l pearllib.l pearlsmall.l \
23 print.l scopy.l symord.l \
24 toplevel.l ucisubset.l vars.l
25
26AllSrc = Makefile ChangeLog ReadMe implement.ms ltags \
27 manual.ms pearl.1 ptags template update.ms ${Src}
28
29.l.o:
30 ${Liszt} $<
31
32# Make "pearl.o" and "pearl" from scratch.
33# NOTE: At installations where memory is less than 2.5Mb,
34# "make pearl" normally makes "small" which builds PEARL in two steps.
35# If your installation has more memory, "pearl" can be changed to
36# make "big" instead. In this case, "install" below should also be
37# changed to make "biginstall" instead of "smallinstall".
38pearl: small
39 echo "(savepearl)" | pearl.o
40 @echo pearl done
41
42pearlbase.o: pearlbase.l
43
44pearlbulk.o: pearlbase.o pearlbulk.l
45
46small: pearlbase.o pearlbulk.o
47 ${Liszt} -r pearlsmall.l -o pearl.o
48
49big:
50 ${Liszt} -r pearl.l
51
52# Install the executable pearl in ObjDir and the
53# fasl'able pearl.o for compiling code using PEARL in LibDir.
54# NOTE: "install" can be changed to use "biginstall" on big enough machines.
55install: smallinstall
56
57smallinstall: small
58 echo "(savepearl)" | pearl.o
59 mv pearlbase.o ${LibDir}/pearlbase.o
60 mv pearlbulk.o ${LibDir}/pearlbulk.o
61 ${Liszt} -r pearllib.l -o pearl.o
62 mv pearl.o ${LibDir}/pearl.o
63 mv pearl ${ObjDir}/pearl
64 cp pearl.1 ${ManDir}/pearl.1
65 @echo pearl done
66
67biginstall: big
68 echo "(savepearl)" | pearl.o
69 mv pearl.o ${LibDir}/pearl.o
70 mv pearl ${ObjDir}/pearl
71 cp pearl.1 ${ManDir}/pearl.1
72 @echo pearl done
73
74tags: /dev/tty ${Src}
75 -rm -f tags
76 awk -f ltags ${Src} | sort > tags
77
78# For distribution purposes.
79copysource: ${AllSrc}
80 (tar cf - ${AllSrc} | (cd ${CopyTo} ; tar xf -))
81
82scriptcatall: ${AllSrc}
83 @(cd ${CdTo} ; scriptcat pearl pearl ${AllSrc})
84
85clean:
86 -rm -f pearl pearl.o
87