# C Shell with process control; VM/UNIX VAX Makefile
# Bill Joy UC Berkeley; Jim Kulp IIASA, Austria
CFLAGS= -O -DTELL -DVMUNIX -Ddebug -DVFORK
VGRIND= csh /usr/ucb/vgrind
# strings.o must be last in OBJS since it can change when previous files compile
OBJS= sh.o sh.dol.o sh.err.o sh.exec.o sh.exp.o sh.func.o sh.glob.o \
sh.hist.o sh.lex.o sh.misc.o sh.parse.o sh.print.o sh.sem.o sh.set.o \
sh.proc.o sh.dir.o sh.time.o alloc.o sh.init.o printf.o \
# Special massaging of C files for sharing of strings
${CC} -E ${CFLAGS} $*.c | ${XSTR} -c -
cc ${OBJS} -o csh ${LIBES}
csh.prof: ${OBJS} sh.prof.o sh.local.h mcrt0.o
ld -X mcrt0.o ${OBJS} -o csh.prof ${LIBES} -lc
cc -c ${CFLAGS} -DPROF sh.prof.c
# need an old doprnt, whose output we can trap
cc -E doprnt.c > 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