# $Copyright:	$
# Copyright (c) 1984, 1985, 1986, 1987, 1988, 1989, 1990 
# Sequent Computer Systems, Inc.   All rights reserved.
#  
# This software is furnished under a license and may be used
# only in accordance with the terms of that license and with the
# inclusion of the above copyright notice.   This software may not
# be provided or otherwise made available to, or used by, any
# other person.  No title to or ownership of the software is
# hereby transferred.
#
#ident "$Header: makefile 1.10 89/12/15 $"

SRC	= $C/main.c $C/sym.c $C/misc.c $C/proc.c $C/session.c $C/engine.c $C/od.c \
	  $C/uarea.c $C/news.c $C/stdio.c stack.c $C/expr.c $C/stream.c $C/util.c\
	  $C/bsearch.c $C/buffer.c $C/file.c $C/pte.c $C/nodes.c $C/dev.c
HDR 	= $C/crash.h $C/define.h
OBJ 	= main.o sym.o misc.o proc.o session.o engine.o od.o uarea.o news.o stdio.o \
	  stack.o expr.o stream.o util.o bsearch.o buffer.o file.o pte.o dev.o nodes.o 

INSDIR	= $(ROOT)/etc
INS	= install -n $(INSDIR)
C	= ../common
CFLAGS	= -DCRASH_DEBUG $(CROSS)  -I$C $(INCLUDE) $(DEBUG)
LIB	= -lld -lseq
XLIB	= -lld /usr/.lib/libseq.a

all:	crash

crash:	parallel mkdate $C/Version
	rm -f version.c
	./mkdate `cat $C/Version` > version.c
	$(CC) $(CFLAGS) -o crash $(OBJ) version.c $(LIB)

xcrash:	parallel bsdsigs.o mkdate $C/Version
	rm -f version.c
	./mkdate `cat $C/Version` > version.c
	$(CC) $(CFLAGS) -o xcrash $(OBJ) bsdsigs.o version.c $(XLIB)

ccscrash: parallel mkdate $C/Version
	rm -f version.c
	./mkdate `cat $C/Version` > version.c
	$(CC) $(CFLAGS) -o ccscrash $(OBJ) version.c $(LIB)

xccscrash: parallel mkdate $C/Version
	rm -f version.c
	./mkdate `cat $C/Version` > version.c
	$(CC) $(CFLAGS) -o xccscrash $(OBJ) version.c $(LIB)

parallel:$& $(OBJ)

version:
	chmod +w $C/Version
	awk '{ printf "%.2f\n", $$1 + 0.01 > "$C/Version" }' $C/Version

clean:	; rm -f *.o core date.c mkdate version.c

clobber: ; rm -f *.o core date.c mkdate tags version.c crash xcrash

install: crash
	$(INS) crash $(INSDIR)

mkdate:	$C/mkdate.c
	cc $(CFLAGS) -o mkdate $C/mkdate.c

tags:	$(HDR) $(SRC)
	ctags -tw $(HDR) $(SRC)

diffs: $(HDR) $(SRC) mkdate.c
	rdiff $(HDR) $(SRC) mkdate.c Makefile > diffs

listing:; @pr $(HDR) $(SRC)

main.o:	$C/main.c $C/define.h
	$(CC) $(CFLAGS) -c $C/main.c

sym.o:	$C/sym.c
	$(CC) $(CFLAGS) -c $C/sym.c

stack.o: stack.c $C/crash.h
	$(CC) $(CFLAGS) -c stack.c

misc.o:	$C/misc.c $C/crash.h
	$(CC) $(CFLAGS) -c $C/misc.c

proc.o:	$C/proc.c
	$(CC) $(CFLAGS) -c $C/proc.c

session.o:	$C/session.c
	$(CC) $(CFLAGS) -c $C/session.c

engine.o: $C/engine.c $C/crash.h
	$(CC) $(CFLAGS) -c $C/engine.c

od.o:	$C/od.c
	$(CC) $(CFLAGS) -c $C/od.c

uarea.o:	$C/uarea.c
	$(CC) $(CFLAGS) -c $C/uarea.c

news.o:	$C/news.c $C/crash.h
	$(CC) $(CFLAGS) -c $C/news.c

stdio.o:	$C/stdio.c
	$(CC) $(CFLAGS) -c $C/stdio.c

expr.o:	$C/expr.c
	$(CC) $(CFLAGS) -c $C/expr.c

stream.o:	$C/stream.c
	$(CC) $(CFLAGS) -c $C/stream.c

util.o:		$C/util.c
	$(CC) $(CFLAGS) -c $C/util.c

bsearch.o:	$C/bsearch.c
	$(CC) $(CFLAGS) -c $C/bsearch.c

buffer.o:	$C/buffer.c $C/crash.h
	$(CC) $(CFLAGS) -c $C/buffer.c

file.o:	$C/file.c $C/crash.h
	$(CC) $(CFLAGS) -c $C/file.c

pte.o:	$C/pte.c
	$(CC) $(CFLAGS) -c $C/pte.c

nodes.o:	$C/nodes.c $C/crash.h
	$(CC) $(CFLAGS) -c $C/nodes.c

dev.o:	$C/dev.c $C/crash.h
	$(CC) $(CFLAGS) -c $C/dev.c

bsdsigs.o:	$C/bsdsigs.c
	$(CC) -DCROSS -I/ -c $C/bsdsigs.c

depend:
	echo '# DO NOT DELETE THIS LINE  --  make depend uses it' > makedep
	$(CC) -M $(CFLAGS) $(SRC) mkdate.c | \
	sed -e ':loop' \
	    -e 's/\.\.\/[^ /]*\/\.\./../' \
	    -e 't loop'  -e 's/\.\///g' | \
	awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \
		else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
		       else rec = rec " " $$2 } } \
	      END { print rec } ' >> makedep
	echo '/^# DO NOT DELETE THIS LINE/,$$d' >eddep
	echo '$$r makedep' >>eddep
	echo 'w' >>eddep
	cp Makefile Makefile.bak
	ex - Makefile < eddep
	rm eddep makedep

# DO NOT DELETE THIS LINE  --  make depend uses it

