DIR=	.
SRC1=	dynahash.c log2.c page.c big.c buf.c hfunc.c
SRC2=	mkstemp.c bcopy.c 
SRCS=	$(SRC1) $(SRC2)
#SRCS=	$(SRC1) 
OBJ1=	dynahash.o log2.o page.o big.o buf.o hfunc.o
OBJ2=	mkstemp.o bcopy.o 
OBJS=	$(OBJ1) $(OBJ2)
#OBJS=	$(OBJ1) 
MAINS=	tread2.c tverify.c tseq.c tdel.c thash4.c tcreat3.c 
HDRS=	hash.h page.h db.h endian.h posix.h

DEBUGFLAGS= -DHASH_STATISTICS -g -pg
PROFFLAGS= -p -DHASH_STATISTICS
TIMEFLAGS = -O
TESTFLAGS= $(DEBUGFLAGS) 
LDFLAGS= 
#CFLAGS=	-I.  $(DEBUGFLAGS) $(CMDFLAGS)
#CFLAGS=	-I.  $(PROFFLAGS) $(CMDFLAGS)
CFLAGS=	-I.  $(TIMEFLAGS) $(CMDFLAGS)
#CFLAGS=	-I. -pedantic -Wall -Dvax $(CMDFLAGS)
CC=	cc
LD=	cc

all:	libhash.a hash_inq tread2 tverify tseq thash4 tcreat3 tdel

lib:	libhash.a

libhash.a:	$(OBJS) ndbm.o hsearch.o
	ar ruv libhash.a $(OBJS) ndbm.o hsearch.o
	ranlib libhash.a

saber:
	#setopt load_flags $(CFLAGS)
	#load $(SRC1) $(SRC2) ndbm.c hsearch.c

install: libhash.a
	/bin/cp libhash.a /afs/net/tools/lib/@sys/libhash.a
	ranlib /afs/net/tools/lib/@sys/libhash.a
	/bin/rm -f /afs/net/tools/include/db.h /afs/net/tools/include/ndbm.h
	/bin/rm -f /afs/net/tools/include/search.h
	/bin/cp	db.h ndbm.h search.h /afs/net/tools/include

clean:
	/bin/rm -f *.o *~ libhash.a tdel tseq tverify tcreat3 tread2
	/bin/rm -f thash4 test-driver dbu dbe

synctree:
	/usr/athena/lib/update/synctree -s ../../src -d .

tar:	
	tar chf hash.tar README Makefile $(SRCS) $(MAINS) $(HDRS) ndbm.c ndbm.h hsearch.c search.h byte_order.c db.3 hash.ps DIFFS.*


tdel:	tdel.o $(OBJS)
	$(LD) tdel.o $(LDFLAGS) -o tdel $(OBJS)

tseq:	tseq.o $(OBJS)
	$(LD) tseq.o $(LDFLAGS) -o tseq $(OBJS)

tverify:	tverify.o $(OBJS)
	$(LD) tverify.o $(LDFLAGS) -o tverify $(OBJS)

tcreat3:	tcreat3.o $(OBJS)
	$(LD) tcreat3.o $(LDFLAGS) -o tcreat3 $(OBJS)

tread2:	tread2.o $(OBJS)
	$(LD) tread2.o $(LDFLAGS) -o tread2 $(OBJS)

thash4:	thash4.o $(OBJS)
	$(LD) thash4.o $(LDFLAGS) -o thash4 $(OBJS)

test-driver: test-driver.o libhash.a
	$(LD) -o test-driver test-driver.o libhash.a

hash_inq: hash_inq.o libhash.a
	$(LD) -o hash_inq hash_inq.o libhash.a

dbu: dbu.o libhash.a
	$(LD) -o dbu dbu.o libhash.a

dbe: dbe.o libhash.a
	$(LD) -o dbe dbe.o libhash.a

# DO NOT DELETE THIS LINE -- make depend depends on it.

bcopy.o: /usr/include/string.h /usr/include/strings.h
bcopy.o: /usr/include/sys/types.h
bcopy_checker.o: /usr/include/stdio.h
big.o: /usr/include/sys/types.h /usr/include/sys/file.h /usr/include/assert.h
big.o: /usr/include/errno.h db.h hash.h posix.h bcopy.h page.h
big.o: /usr/include/stdio.h
buf.o: /usr/include/sys/types.h /usr/include/sys/file.h /usr/include/assert.h
buf.o: /usr/include/errno.h hash.h posix.h bcopy.h /usr/include/stdio.h
byte_order.o: /usr/include/stdio.h
dbe.o: /usr/include/stdio.h /usr/include/sys/file.h ndbm.h
dbe.o: /usr/include/sys/types.h db.h /usr/include/ctype.h
dbu.o: /usr/include/stdio.h /usr/include/sys/file.h ndbm.h
dbu.o: /usr/include/sys/types.h db.h /usr/include/string.h
dbu.o: /usr/include/strings.h
dynahash.o: /usr/include/sys/types.h /usr/include/sys/file.h
dynahash.o: /usr/include/sys/stat.h /usr/include/errno.h
dynahash.o: /usr/include/assert.h /usr/include/string.h
dynahash.o: /usr/include/strings.h db.h hash.h posix.h bcopy.h
dynahash.o: /usr/include/stdio.h endian.h
hfunc.o: /usr/include/stdio.h /usr/include/errno.h bcopy.h
hsearch.o: /usr/include/sys/file.h /usr/include/sys/types.h
hsearch.o: /usr/include/stdio.h db.h search.h
mkstemp.o: /usr/include/sys/file.h
ndbm.o: /usr/include/sys/types.h /usr/include/stdio.h ndbm.h db.h hash.h
ndbm.o: posix.h bcopy.h
page.o: /usr/include/sys/types.h /usr/include/sys/file.h
page.o: /usr/include/signal.h /usr/include/assert.h /usr/include/errno.h db.h
page.o: hash.h posix.h bcopy.h page.h /usr/include/stdio.h endian.h
tcreat3.o: /usr/include/sys/types.h /usr/include/stdio.h
tcreat3.o: /usr/include/sys/file.h db.h
tdel.o: /usr/include/sys/types.h /usr/include/sys/file.h db.h
tdel.o: /usr/include/stdio.h
test-driver.o: /usr/include/stdio.h /usr/include/sys/file.h ndbm.h
test-driver.o: /usr/include/sys/types.h db.h
thash4.o: /usr/include/stdio.h /usr/include/sys/file.h
thash4.o: /usr/include/sys/types.h /usr/include/sys/timeb.h
thash4.o: /usr/include/errno.h db.h
tread2.o: /usr/include/sys/types.h /usr/include/stdio.h
tread2.o: /usr/include/sys/file.h db.h
tseq.o: /usr/include/sys/types.h /usr/include/stdio.h /usr/include/sys/file.h
tseq.o: db.h
tverify.o: /usr/include/sys/types.h /usr/include/stdio.h
tverify.o: /usr/include/sys/file.h db.h
