|
|
1.1 root 1: #
2: # Copyright (c) 1980 Regents of the University of California.
3: # All rights reserved. The Berkeley Software License Agreement
4: # specifies the terms and conditions for redistribution.
5: #
6: # @(#)Makefile 5.3 (Berkeley) 3/29/86
7: #
8: # C Shell with process control; VM/UNIX VAX Makefile
9: # Bill Joy UC Berkeley; Jim Kulp IIASA, Austria
10: #
11: # To profile, put -DPROF in DEFS and -pg in CFLAGS, and recompile.
12:
13: DEFS= -DTELL -DVFORK -DFILEC
14: CFLAGS= $(DEFS) -O
15: XSTR= /usr/ucb/xstr
16: AS= as
17: RM= -rm
18: CXREF= /usr/ucb/cxref
19: VGRIND= /usr/ucb/vgrind
20: CTAGS= /usr/ucb/ctags
21: LIBES=
22: SCCS= sccs
23:
24: OBJS= alloc.o doprnt.o printf.o sh.o sh.char.o sh.dir.o sh.dol.o sh.err.o \
25: sh.exec.o sh.exp.o sh.file.o sh.func.o sh.glob.o sh.hist.o sh.init.o \
26: sh.lex.o sh.misc.o sh.parse.o sh.print.o sh.proc.o sh.sem.o sh.set.o \
27: sh.time.o
28:
29: # Special massaging of C files for sharing of strings
30: .c.o:
31: ${CC} -E ${CFLAGS} $*.c | ${XSTR} -c -
32: ${CC} -c ${CFLAGS} x.c
33: mv -f x.o $*.o
34: rm -f x.c
35:
36: # strings.o must be last since it can change when previous files compile
37: csh: ${OBJS} strings.o
38: rm -f csh
39: ${CC} ${CFLAGS} ${OBJS} strings.o -o csh ${LIBES}
40:
41: .DEFAULT:
42: ${SCCS} get $<
43:
44: # need an old doprnt, whose output we can trap
45: doprnt.o: doprnt.c
46: ${CC} -E doprnt.c | ${AS} -o doprnt.o
47:
48: # strings.o, sh.init.o, and sh.char.o are specially processed to be shared
49: strings.o: strings
50: ${XSTR}
51: ${CC} -c -R xs.c
52: mv -f xs.o strings.o
53: rm -f xs.c
54:
55: sh.char.o sh.init.o:
56: ${CC} -E ${CFLAGS} $*.c | ${XSTR} -c -
57: ${CC} ${CFLAGS} -c -R x.c
58: mv -f x.o $*.o
59: rm -f x.c
60:
61: lint:
62: lint -z ${DEFS} sh*.c alloc.c
63:
64: print:
65: @pr READ_ME
66: @pr Makefile Makefile.*
67: @(size -l a.out; size *.o) | pr -h SIZES
68: @${CXREF} sh*.c | pr -h XREF
69: @ls -l | pr
70: @pr sh*.h [a-rt-z]*.h sh*.c alloc.c
71:
72: vprint:
73: @pr -l84 READ_ME TODO
74: @pr -l84 Makefile Makefile.*
75: @(size -l a.out; size *.o) | pr -l84 -h SIZES
76: @${CXREF} sh*.c | pr -l84 -h XREF
77: @ls -l | pr -l84
78: @${CXREF} sh*.c | pr -l84 -h XREF
79: @pr -l84 sh*.h [a-rt-z]*.h sh*.c alloc.c
80:
81: vgrind:
82: @cp /dev/null index
83: @-mkdir grind
84: for i in *.h; do ${VGRIND} -t -h "C Shell" $$i >grind/$$i.t; done
85: for i in *.c; do ${VGRIND} -t -h "C Shell" $$i >grind/$$i.t; done
86: ${VGRIND} -t -x -h Index index >grind/index.t
87:
88: install: csh
89: install -s csh ${DESTDIR}/bin/csh
90:
91: clean:
92: ${RM} -f a.out strings x.c xs.c csh errs
93: ${RM} -f *.o
94: ${RM} -rf vgrind
95:
96: tags:
97: ${CTAGS} -t *.h sh*.c
98:
99: sh.o: sh.h sh.local.h sh.char.h
100: sh.char.o: sh.char.h
101: sh.dir.o: sh.h sh.local.h sh.dir.h
102: sh.dol.o: sh.h sh.local.h sh.char.h
103: sh.err.o: sh.h sh.local.h sh.char.h
104: sh.exec.o: sh.h sh.local.h sh.char.h
105: sh.exp.o: sh.h sh.local.h sh.char.h
106: sh.file.o: sh.h sh.local.h sh.char.h
107: sh.func.o: sh.h sh.local.h sh.char.h
108: sh.glob.o: sh.h sh.local.h sh.char.h
109: sh.hist.o: sh.h sh.local.h sh.char.h
110: sh.init.o: sh.local.h
111: sh.lex.o: sh.h sh.local.h sh.char.h
112: sh.misc.o: sh.h sh.local.h sh.char.h
113: sh.parse.o: sh.h sh.local.h sh.char.h
114: sh.print.o: sh.h sh.local.h sh.char.h
115: sh.proc.o: sh.h sh.local.h sh.dir.h sh.proc.h sh.char.h
116: sh.sem.o: sh.h sh.local.h sh.proc.h sh.char.h
117: sh.set.o: sh.h sh.local.h sh.char.h
118: sh.time.o: sh.h sh.local.h sh.char.h
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.