Commit | Line | Data |
---|---|---|
fef62a9f BJ |
1 | # |
2 | # Makefile 4.1 %G% | |
3 | # | |
4 | # C Shell with process control; VM/UNIX VAX Makefile | |
5 | # Bill Joy UC Berkeley; Jim Kulp IIASA, Austria | |
6 | # | |
7 | CFLAGS= -O -DTELL -DVMUNIX -Ddebug -DVFORK | |
8 | XSTR= /usr/ucb/xstr | |
9 | ED= -ed | |
10 | AS= -as | |
11 | RM= -rm | |
12 | CXREF= /usr/ucb/cxref | |
13 | VGRIND= csh /usr/ucb/vgrind | |
14 | CTAGS= /usr/ucb/ctags | |
15 | LIBES= -ljobs | |
16 | SCCS= /usr/local/sccs | |
17 | ||
18 | # strings.o must be last in OBJS since it can change when previous files compile | |
19 | OBJS= sh.o sh.dol.o sh.err.o sh.exec.o sh.exp.o sh.func.o sh.glob.o \ | |
20 | sh.hist.o sh.lex.o sh.misc.o sh.parse.o sh.print.o sh.sem.o sh.set.o \ | |
21 | sh.proc.o sh.dir.o sh.time.o alloc.o sh.init.o printf.o \ | |
22 | strings.o doprnt.o | |
23 | ||
24 | # Special massaging of C files for sharing of strings | |
25 | .c.o: | |
26 | ${CC} -E ${CFLAGS} $*.c | ${XSTR} -c - | |
27 | ${CC} -c ${CFLAGS} x.c | |
28 | mv x.o $*.o | |
29 | ||
30 | csh: ${OBJS} sh.local.h | |
31 | rm -f csh | |
32 | cc ${OBJS} -o csh ${LIBES} | |
33 | ||
34 | csh.prof: ${OBJS} sh.prof.o sh.local.h mcrt0.o | |
35 | rm -f csh.prof | |
36 | ld -X mcrt0.o ${OBJS} -o csh.prof ${LIBES} -lc | |
37 | ||
38 | sh.o.prof: | |
39 | cp sh.c sh.prof.c | |
40 | cc -c ${CFLAGS} -DPROF sh.prof.c | |
41 | ||
42 | .DEFAULT: | |
43 | ${SCCS} get $< | |
44 | ||
45 | # need an old doprnt, whose output we can trap | |
46 | doprnt.o: doprnt.c | |
47 | cc -E doprnt.c > doprnt.s | |
48 | as -o doprnt.o doprnt.s | |
49 | rm -f doprnt.s | |
50 | ||
51 | # strings.o and sh.init.o are specially processed to be shared | |
52 | strings.o: strings | |
53 | ${XSTR} | |
54 | ${CC} -c -R xs.c | |
55 | mv xs.o strings.o | |
56 | ||
57 | sh.init.o: | |
58 | ${CC} -E ${CFLAGS} sh.init.c | ${XSTR} -c - | |
59 | ${CC} ${CFLAGS} -c -R x.c | |
60 | mv x.o sh.init.o | |
61 | ||
62 | lint: | |
63 | lint ${CFLAGS} sh*.c | |
64 | ||
65 | print: | |
66 | @pr READ_ME | |
67 | @pr makefile makefile.* | |
68 | @(size -l a.out; size *.o) | pr -h SIZES | |
69 | @${CXREF} sh*.c | pr -h XREF | |
70 | @ls -l | pr | |
71 | @pr sh*.h [a-rt-z]*.h sh*.c alloc.c | |
72 | ||
73 | vprint: | |
74 | @pr -l84 READ_ME TODO | |
75 | @pr -l84 makefile makefile.* | |
76 | @(size -l a.out; size *.o) | pr -l84 -h SIZES | |
77 | @${CXREF} sh*.c | pr -l84 -h XREF | |
78 | @ls -l | pr -l84 | |
79 | @${CXREF} sh*.c | pr -l84 -h XREF | |
80 | @pr -l84 sh*.h [a-rt-z]*.h sh*.c alloc.c | |
81 | ||
82 | vgrind: | |
83 | @cp /dev/null index | |
84 | @for i in *.h; do vgrind -t -h "C Shell" $$i >/crp/bill/csh/$$i.t; done | |
85 | @for i in *.c; do vgrind -t -h "C Shell" $$i >/crp/bill/csh/$$i.t; done | |
86 | @vgrind -t -x -h Index index >/crp/bill/csh/index.t | |
87 | ||
88 | install: csh sh.local.h | |
89 | install -s csh ${DESTDIR}/bin/csh | |
90 | ||
91 | clean: | |
92 | ${RM} -f a.out strings x.c xs.c csh | |
93 | ${RM} -f *.o sh.prof.c | |
94 | ||
95 | tags: /tmp | |
96 | ${CTAGS} sh*.c |