###############################################################################
#
# Makefile for compiling gdbm 1.5 under MS-DOS & WATCOM C/386 9.0
# This Makefile has been tested with WATCOM C/386 versions 9.01D and 9.01E.
#	-- Darryl Okahata, March 1993
#	   (Internet: darrylo@sr.hp.com, Compuserve: 75206,3074)
#
###############################################################################

INSTALL_LIB_DIR =	..\libs
INSTALL_INCLUDE_DIR =	..\libs_h

# CFLAGS contains all of the compiler options.  Add defines (-D...) here.
# For debugging, use:
CFLAGS=		/d2
# For production code, use:
CFLAGS=		/oilrt /4r /zp4 /oe=40

###############################################################################

CC=wcl386 /p /j

.c.obj:
	$(CC) /c $(CFLAGS) $[*

###############################################################################

OBJ0 =	bucket.obj conv2gdb.obj dbmclose.obj dbmdelet.obj dbmdirfn.obj 
OBJ1 =	dbmfetch.obj dbminit.obj dbmopen.obj dbmpagfn.obj dbmseq.obj 
OBJ2 =	dbmstore.obj delete.obj falloc.obj fetch.obj findkey.obj 
OBJ3 =	gdbmclos.obj gdbmdele.obj gdbmfetc.obj gdbmopen.obj gdbmreor.obj 
OBJ4 =	gdbmseq.obj gdbmstor.obj global.obj hash.obj seq.obj 
OBJ5 =	store.obj update.obj version.obj 

OBJS = $(OBJ0) $(OBJ1) $(OBJ2) $(OBJ3) $(OBJ4) $(OBJ5) 

gdbm.lib:	$(OBJS) gdbm.lbc
	wlib gdbm @gdbm.lbc

gdbm.lbc:	makefile
	echo -+ bucket.obj > gdbm.lbc
	echo -+ conv2gdb.obj >> gdbm.lbc
	echo -+ dbmclose.obj >> gdbm.lbc
	echo -+ dbmdelet.obj >> gdbm.lbc
	echo -+ dbmdirfn.obj >> gdbm.lbc
	echo -+ dbmfetch.obj >> gdbm.lbc
	echo -+ dbminit.obj >> gdbm.lbc
	echo -+ dbmopen.obj >> gdbm.lbc
	echo -+ dbmpagfn.obj >> gdbm.lbc
	echo -+ dbmseq.obj >> gdbm.lbc
	echo -+ dbmstore.obj >> gdbm.lbc
	echo -+ delete.obj >> gdbm.lbc
	echo -+ falloc.obj >> gdbm.lbc
	echo -+ fetch.obj >> gdbm.lbc
	echo -+ findkey.obj >> gdbm.lbc
	echo -+ gdbmclos.obj >> gdbm.lbc
	echo -+ gdbmdele.obj >> gdbm.lbc
	echo -+ gdbmfetc.obj >> gdbm.lbc
	echo -+ gdbmopen.obj >> gdbm.lbc
	echo -+ gdbmreor.obj >> gdbm.lbc
	echo -+ gdbmseq.obj >> gdbm.lbc
	echo -+ gdbmstor.obj >> gdbm.lbc
	echo -+ global.obj >> gdbm.lbc
	echo -+ hash.obj >> gdbm.lbc
	echo -+ seq.obj >> gdbm.lbc
	echo -+ store.obj >> gdbm.lbc
	echo -+ update.obj >> gdbm.lbc
	echo -+ version.obj >> gdbm.lbc

gdbm.h:	gdbm.pro gdbmerrn.h
	copy gdbm.pro gdbm.h
	grep _ gdbmerrn.h >> gdbm.h

install:	gdbm.lib gdbm.h .SYMBOLIC
	copy gdbm.lib $(INSTALL_LIB_DIR)
	copy dbm.h $(INSTALL_INCLUDE_DIR)
	copy ndbm.h $(INSTALL_INCLUDE_DIR)
	copy gdbm.h $(INSTALL_INCLUDE_DIR)

testgdbm.exe: testgdbm.obj gdbm.lib getopt.obj
	echo name testgdbm.exe > testgdbm.arp
	echo debug all >> testgdbm.arp
	echo option stack=64k >> testgdbm.arp
	echo option caseexact >> testgdbm.arp
	echo file testgdbm.obj >> testgdbm.arp
	echo file getopt.obj >> testgdbm.arp
	echo library gdbm.lib >> testgdbm.arp
	echo option dosseg >> testgdbm.arp
	echo system dos4g >> testgdbm.arp
	wlink @testgdbm.arp

clean:	.SYMBOLIC
	-del *.obj
	-del gdbm.lib
	-del *.err
	-del *.exe

###############################################################################
# DEPENDENCIES (DO NOT CHANGE THIS LINE OR ANYTHING PAST IT)
bucket.obj:	bucket.c gdbmdefs.h
conv2gdb.obj:	conv2gdb.c gdbm.h
dbmclose.obj:	dbmclose.c gdbmdefs.h
dbmdelet.obj:	dbmdelet.c gdbmdefs.h extern.h
dbmdirfn.obj:	dbmdirfn.c gdbmdefs.h
dbmfetch.obj:	dbmfetch.c gdbmdefs.h extern.h
dbminit.obj:	dbminit.c gdbmdefs.h gdbmerrno.h extern.h
dbmopen.obj:	dbmopen.c gdbmdefs.h gdbmerrno.h extern.h
dbmpagfn.obj:	dbmpagfn.c gdbmdefs.h
dbmseq.obj:	dbmseq.c gdbmdefs.h extern.h
dbmstore.obj:	dbmstore.c gdbmdefs.h extern.h
delete.obj:	delete.c gdbmdefs.h extern.h
falloc.obj:	falloc.c gdbmdefs.h
fetch.obj:	fetch.c gdbmdefs.h extern.h
findkey.obj:	findkey.c gdbmdefs.h
gdbmclos.obj:	gdbmclos.c gdbmdefs.h
gdbmdele.obj:	gdbmdele.c gdbmdefs.h gdbmerrno.h
gdbmfetc.obj:	gdbmfetc.c gdbmdefs.h gdbmerrno.h
gdbmopen.obj:	gdbmopen.c gdbmdefs.h gdbmerrno.h
gdbmreor.obj:	gdbmreor.c gdbmdefs.h gdbmerrno.h extern.h
gdbmseq.obj:	gdbmseq.c gdbmdefs.h
gdbmstor.obj:	gdbmstor.c gdbmdefs.h gdbmerrno.h
global.obj:	global.c gdbmdefs.h gdbmerrno.h
hash.obj:	hash.c gdbmdefs.h
seq.obj:	seq.c gdbmdefs.h extern.h
store.obj:	store.c gdbmdefs.h extern.h
update.obj:	update.c gdbmdefs.h
version.obj:	version.c 
