Commit | Line | Data |
---|---|---|
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 | |
13 | LibDir = /usr/lib/lisp | |
14 | CopyTo = /dev/null | |
15 | ManDir = /usr/man/man1 | |
16 | ObjDir = /usr/ucb | |
17 | Liszt = ${ObjDir}/liszt | |
18 | CdTo = .. | |
19 | ||
20 | Src = 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 | ||
26 | AllSrc = 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". | |
38 | pearl: small | |
39 | echo "(savepearl)" | pearl.o | |
40 | @echo pearl done | |
41 | ||
42 | pearlbase.o: pearlbase.l | |
43 | ||
44 | pearlbulk.o: pearlbase.o pearlbulk.l | |
45 | ||
46 | small: pearlbase.o pearlbulk.o | |
47 | ${Liszt} -r pearlsmall.l -o pearl.o | |
48 | ||
49 | big: | |
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. | |
55 | install: smallinstall | |
56 | ||
57 | smallinstall: 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 | ||
67 | biginstall: 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 | ||
74 | tags: /dev/tty ${Src} | |
75 | -rm -f tags | |
76 | awk -f ltags ${Src} | sort > tags | |
77 | ||
78 | # For distribution purposes. | |
79 | copysource: ${AllSrc} | |
80 | (tar cf - ${AllSrc} | (cd ${CopyTo} ; tar xf -)) | |
81 | ||
82 | scriptcatall: ${AllSrc} | |
83 | @(cd ${CdTo} ; scriptcat pearl pearl ${AllSrc}) | |
84 | ||
85 | clean: | |
86 | -rm -f pearl pearl.o | |
87 |