#	@(#)Makefile	8.9 (Berkeley) 7/14/94

include ../../../Makefile.defs

LIBDB=	$(U_DIR)/libdb.a
OBJ1=	$(U_DIR)/hash.o \
	$(U_DIR)/hash_bigkey.o \
	$(U_DIR)/hash_buf.o \
	$(U_DIR)/hash_func.o \
	$(U_DIR)/hash_log2.o \
	$(U_DIR)/hash_page.o \
	$(U_DIR)/hsearch.o \
	$(U_DIR)/ndbm.o

OBJ2=	$(U_DIR)/bt_close.o \
	$(U_DIR)/bt_conv.o \
	$(U_DIR)/bt_debug.o \
	$(U_DIR)/bt_delete.o \
	$(U_DIR)/bt_get.o \
	$(U_DIR)/bt_open.o \
	$(U_DIR)/bt_overflow.o \
	$(U_DIR)/bt_page.o \
	$(U_DIR)/bt_put.o \
	$(U_DIR)/bt_search.o \
	$(U_DIR)/bt_seq.o \
	$(U_DIR)/bt_split.o \
	$(U_DIR)/bt_utils.o

OBJ3=	$(U_DIR)/db.o
OBJ4=	$(U_DIR)/mpool.o
OBJ5=	$(U_DIR)/rec_close.o \
	$(U_DIR)/rec_delete.o \
	$(U_DIR)/rec_get.o \
	$(U_DIR)/rec_open.o \
	$(U_DIR)/rec_put.o \
	$(U_DIR)/rec_search.o \
	$(U_DIR)/rec_seq.o \
	$(U_DIR)/rec_utils.o

MISC=	$(U_DIR)/snprintf.o $(U_DIR)/memmove.o

all: $(U_DIR) $(LIBDB)

HDRS= \
	../../hash/hash.h ../../hash/page.h ../../hash/extern.h \
	../../btree/btree.h ../../btree/extern.h \
	../../recno/recno.h ../../recno/extern.h \
	sys/cdefs.h sys/compat.h  sys/db.h sys/mpool.h \
	sys/ndbm.h sys/queue.h \
	include/cdefs.h include/compat.h  include/db.h include/mpool.h \
	include/ndbm.h include/queue.h

${LIBDB}: ${HDRS} ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
	@-rm -f $@
	@-$(AR) cq $@ ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
	@-$(RANLIB) $@

$(U_DIR):
	@[ -d $(U_DIR) ] || mkdir -p $(U_DIR)

clean:
	@-rm -f ${LIBDB} ${OBJ1} ${OBJ2} ${OBJ3} ${OBJ4} ${OBJ5} ${MISC}
	@-rm -rf ${U_DIR}
	@-(cd include; $(SCCSCLEAN))
	@-(cd sys; $(SCCSCLEAN))
	@-$(SCCSCLEAN)

cleanall:
	@-rm -rf 4bin.*
	@-(cd include; $(SCCSCLEAN))
	@-(cd sys; $(SCCSCLEAN))
	@-$(SCCSCLEAN)

OORG=	-O
CL=	${CC} -c -D__DBINTERFACE_PRIVATE ${OORG} -I. -Iinclude

$(U_DIR)/hash.o: ../../hash/hash.c
	${CL} -I../../hash -o $@ ../../hash/hash.c
$(U_DIR)/hash_bigkey.o: ../../hash/hash_bigkey.c
	${CL} -I../../hash -o $@ ../../hash/hash_bigkey.c
$(U_DIR)/hash_buf.o: ../../hash/hash_buf.c
	${CL} -I../../hash -o $@ ../../hash/hash_buf.c
$(U_DIR)/hash_func.o: ../../hash/hash_func.c
	${CL} -I../../hash -o $@ ../../hash/hash_func.c
$(U_DIR)/hash_log2.o: ../../hash/hash_log2.c
	${CL} -I../../hash -o $@ ../../hash/hash_log2.c
$(U_DIR)/hash_page.o: ../../hash/hash_page.c
	${CL} -I../../hash -o $@ ../../hash/hash_page.c
$(U_DIR)/hsearch.o: ../../hash/hsearch.c
	${CL} -I../../hash -o $@ ../../hash/hsearch.c
$(U_DIR)/ndbm.o: ../../hash/ndbm.c
	${CL} -I../../hash -o $@ ../../hash/ndbm.c

$(U_DIR)/bt_close.o: ../../btree/bt_close.c
	${CL} -I../../btree -o $@ ../../btree/bt_close.c
$(U_DIR)/bt_conv.o: ../../btree/bt_conv.c
	${CL} -I../../btree -o $@ ../../btree/bt_conv.c
$(U_DIR)/bt_debug.o: ../../btree/bt_debug.c
	${CL} -I../../btree -o $@ ../../btree/bt_debug.c
$(U_DIR)/bt_delete.o: ../../btree/bt_delete.c
	${CL} -I../../btree -o $@ ../../btree/bt_delete.c
$(U_DIR)/bt_get.o: ../../btree/bt_get.c
	${CL} -I../../btree -o $@ ../../btree/bt_get.c
$(U_DIR)/bt_open.o: ../../btree/bt_open.c
	${CL} -I../../btree -o $@ ../../btree/bt_open.c
$(U_DIR)/bt_overflow.o: ../../btree/bt_overflow.c
	${CL} -I../../btree -o $@ ../../btree/bt_overflow.c
$(U_DIR)/bt_page.o: ../../btree/bt_page.c
	${CL} -I../../btree -o $@ ../../btree/bt_page.c
$(U_DIR)/bt_put.o: ../../btree/bt_put.c
	${CL} -I../../btree -o $@ ../../btree/bt_put.c
$(U_DIR)/bt_search.o: ../../btree/bt_search.c
	${CL} -I../../btree -o $@ ../../btree/bt_search.c
$(U_DIR)/bt_seq.o: ../../btree/bt_seq.c
	${CL} -I../../btree -o $@ ../../btree/bt_seq.c
$(U_DIR)/bt_split.o: ../../btree/bt_split.c
	${CL} -I../../btree -o $@ ../../btree/bt_split.c
$(U_DIR)/bt_stack.o: ../../btree/bt_stack.c
	${CL} -I../../btree -o $@ ../../btree/bt_stack.c
$(U_DIR)/bt_utils.o: ../../btree/bt_utils.c
	${CL} -I../../btree -o $@ ../../btree/bt_utils.c

$(U_DIR)/db.o: ../../db/db.c
	${CL} -o $@ ../../db/db.c

$(U_DIR)/mpool.o: ../../mpool/mpool.c
	${CL} -I../../mpool -o $@ ../../mpool/mpool.c

$(U_DIR)/rec_close.o: ../../recno/rec_close.c
	${CL} -I../../recno -o $@ ../../recno/rec_close.c
$(U_DIR)/rec_delete.o: ../../recno/rec_delete.c
	${CL} -I../../recno -o $@ ../../recno/rec_delete.c
$(U_DIR)/rec_get.o: ../../recno/rec_get.c
	${CL} -I../../recno -o $@ ../../recno/rec_get.c
$(U_DIR)/rec_open.o: ../../recno/rec_open.c
	${CL} -I../../recno -o $@ ../../recno/rec_open.c
$(U_DIR)/rec_put.o: ../../recno/rec_put.c
	${CL} -I../../recno -o $@ ../../recno/rec_put.c
$(U_DIR)/rec_search.o: ../../recno/rec_search.c
	${CL} -I../../recno -o $@ ../../recno/rec_search.c
$(U_DIR)/rec_seq.o: ../../recno/rec_seq.c
	${CL} -I../../recno -o $@ ../../recno/rec_seq.c
$(U_DIR)/rec_utils.o: ../../recno/rec_utils.c
	${CL} -I../../recno -o $@ ../../recno/rec_utils.c

$(U_DIR)/memmove.o:
	${CC} -DMEMMOVE -c -O -I. -Iinclude -o $@ clib/memmove.c
$(U_DIR)/mktemp.o:
	${CC} -c -O -I. -Iinclude -o $@ clib/mktemp.c
$(U_DIR)/snprintf.o:
	${CC} -c -O -I. -Iinclude -o $@ clib/snprintf.c
