# $Id: Makefile,v 1.2 91/03/02 19:10:36 lee Exp $
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) 
MAIN1=	tread2.c tverify.c tseq.c tdel.c thash4.c tcreat3.c 
MAINS=	thash.c tcreat.c tread.c tread2.c tverify.c tseq.c tseq2.c tcreat2.c thash2.c tdel.c thash3.c thash4.c tcreat3.c 
HDRS=	hash.h page.h db.h endian.h
RANLIB=ranlib

DEBUGFLAGS= -DHASH_STATISTICS -g -pg
PROFFLAGS= -p -DHASH_STATISTICS
TIMEFLAGS = -O2
TESTFLAGS= $(DEBUGFLAGS) 
LDFLAGS= 
#CFLAGS=	-I.  $(DEBUGFLAGS)
#CFLAGS=	-I.  $(PROFFLAGS)
CFLAGS=	-I.  $(TIMEFLAGS)

all: install
	$(MAKE) -$(MAKEFLAGS) tidy

#all:	libhash.a tread2 tverify tseq thash4 tcreat3 tdel
#all:	tcreat tread tread2 tverify thash tseq tseq2 tcreat2 thash2 thash3 thash4 tdel tcreat3

lib:	libhash.a

install: lib
	cp libhash.a ../lib
	$(RANLIB) ../lib/libhash.a

tidy:
	/bin/rm -f *.o core *.out

clean: tidy
	/bin/rm -f core *.a

tar:	
	tar cf hash.tar README Makefile $(SRCS) $(MAIN1) $(HDRS) ndbm.c ndbm.h hsearch.c search.h byte_order.c db.3 hash.ps

shar:	
	shar -f XFER $(SRC1) $(MAINS) $(HDRS) Makefile

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

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

tseq2:	tseq2.o $(OBJS)
	cc tseq2.o $(LDFLAGS) -o tseq2 $(OBJS)

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

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

tcreat2:	tcreat2.o $(OBJS)
	cc tcreat2.o $(LDFLAGS) -o tcreat2 $(OBJS)

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

tcreat:	tcreat.o $(OBJS)
	cc tcreat.o $(LDFLAGS) -o tcreat $(OBJS)

tread:	tread.o $(OBJS)
	cc tread.o $(LDFLAGS) -o tread $(OBJS)

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

thash:	thash.o $(OBJS)
	cc thash.o $(LDFLAGS) -o thash $(OBJS)

thash2:	thash2.o $(OBJS)
	cc thash2.o $(LDFLAGS) -o thash2 $(OBJS)

thash3:	thash3.o $(OBJS)
	cc thash3.o $(LDFLAGS) -o thash3 $(OBJS)

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


src:	
	co $(SRCS) $(HDRS) $(MAINS)

depend:
	mkdep $(CFLAGS) $(SRCS)

# DO NOT DELETE THIS LINE -- mkdep uses it.
# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.

dynahash.o: dynahash.c /usr/include/sys/types.h /usr/include/sys/sysmacros.h
dynahash.o: /usr/include/sys/file.h /usr/include/sys/fcntlcom.h
dynahash.o: /usr/include/sys/stat.h /usr/include/errno.h
dynahash.o: /usr/include/sys/errno.h /usr/include/assert.h
dynahash.o: /usr/include/string.h db.h hash.h /usr/include/stdio.h endian.h
log2.o: log2.c
page.o: page.c /usr/include/sys/types.h /usr/include/sys/sysmacros.h
page.o: /usr/include/sys/file.h /usr/include/sys/fcntlcom.h
page.o: /usr/include/assert.h /usr/include/errno.h /usr/include/sys/errno.h
page.o: db.h hash.h page.h /usr/include/stdio.h endian.h
big.o: big.c /usr/include/sys/types.h /usr/include/sys/sysmacros.h
big.o: /usr/include/sys/file.h /usr/include/sys/fcntlcom.h
big.o: /usr/include/assert.h /usr/include/errno.h /usr/include/sys/errno.h db.h
big.o: hash.h page.h /usr/include/stdio.h
buf.o: buf.c /usr/include/sys/types.h /usr/include/sys/sysmacros.h
buf.o: /usr/include/sys/file.h /usr/include/sys/fcntlcom.h
buf.o: /usr/include/assert.h /usr/include/errno.h /usr/include/sys/errno.h
buf.o: hash.h /usr/include/stdio.h
hfunc.o: hfunc.c
mkstemp.o: mkstemp.c /usr/include/sys/file.h /usr/include/sys/fcntlcom.h
bcopy.o: bcopy.c /usr/include/string.h /usr/include/sys/types.h
bcopy.o: /usr/include/sys/sysmacros.h

# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
