# C Shell with process control; VM/UNIX VAX Makefile
# Bill Joy UC Berkeley; Jim Kulp IIASA, Austria
CFLAGS
= -O
-DTELL
-DVMUNIX
-DVFORK
VGRIND
= csh
/usr
/ucb
/vgrind
# strings.o must be last in OBJS since it can change when previous files compile
OBJS
= alloc.o doprnt.o printf.o sh.
dir.o sh.dol.o sh.err.o sh.exec.o \
sh.exp.o sh.func.o sh.glob.o sh.hist.o sh.init.o sh.
lex.o sh.misc.o \
sh.parse.o sh.
print.o sh.proc.o sh.sem.o sh.set.o sh.time.o \
# Special massaging of C files for sharing of strings
${CC} -E
${CFLAGS} $*.c |
${XSTR} -c
-
csh
: sh.o
${OBJS} sh.local.h
${CC} sh.o
${OBJS} -o csh
${LIBES}
# To make csh.prof: put -pg in CFLAGS, make clean, make csh.prof
csh.prof
: sh.prof.o
${OBJS} sh.local.h
${CC} -pg sh.prof.o
${OBJS} ${LIBES} -o csh.prof
${CC} -E
${CFLAGS} -DPROF sh.c |
${XSTR} -c
-
${CC} -c
${CFLAGS} -DPROF x.c
# need an old doprnt, whose output we can trap
${CC} -E doprnt.c
> doprnt.s
${AS} -o doprnt.o doprnt.s
# strings.o and sh.init.o are specially processed to be shared
${CC} -E
${CFLAGS} sh.init.c |
${XSTR} -c
-
${CC} ${CFLAGS} -c
-R x.c
@
(size
-l a.out
; size
*.o
) | pr
-h SIZES
@
${CXREF} sh
*.c | pr
-h XREF
@pr sh
*.h
[a-rt-z
]*.h sh
*.c alloc.c
@pr
-l84 makefile makefile.
*
@
(size
-l a.out
; size
*.o
) | pr
-l84
-h SIZES
@
${CXREF} sh
*.c | pr
-l84
-h XREF
@
${CXREF} sh
*.c | pr
-l84
-h XREF
@pr
-l84 sh
*.h
[a-rt-z
]*.h sh
*.c alloc.c
@for i in
*.h
; do vgrind
-t
-h
"C Shell" $$i >/crp
/bill
/csh
/$$i.t
; done
@for i in
*.c
; do vgrind
-t
-h
"C Shell" $$i >/crp
/bill
/csh
/$$i.t
; done
@vgrind
-t
-x
-h Index index
>/crp
/bill
/csh
/index.t
install -s csh
${DESTDIR}/bin
/csh
${RM} -f a.out strings x.c xs.c csh errs