# derived from GNU readline

# Copyright (C) 1998 Free Software Foundation, Inc.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
GDBM_LIBRARY_VERSION = 1.8.3
GDBM_LIBRARY_NAME = gdbm

srcdir = ../..
winsrcdir = ..
VPATH = .:..:../..
includedir =
BUILD_DIR = .

INSTALL = install -c
INSTALL_PROGRAM = $(INSTALL)
INSTALL_DATA = $(INSTALL) -m 644

RM = rm -f
CP = cp
MV = mv

CFLAGS = -O3
LOCAL_CFLAGS =
CPPFLAGS = 
LDFLAGS =  -s

DEFS =
LOCAL_DEFS = -DBUILDING_DLL

prefix = /usr/local
exec_prefix = $(prefix)

bindir = $(exec_prefix)/bin
libdir = $(exec_prefix)/lib
mandir = $(prefix)/man
includedir = $(prefix)/include

infodir = $(prefix)/info

man3dir = $(mandir)/man3

#
# These values are generated for configure by $(topdir)/support/shobj-conf.
# If your system is not supported by that script, but includes facilities for
# dynamic loading of shared objects, please update the script and send the
# changes to bash-maintainers@gnu.org.
#
SHOBJ_CC = gcc -mno-cygwin
SHOBJ_CFLAGS =
DLLWRAP = dllwrap
DLLTOOL = dlltool

SHOBJ_LIBS = 
SHLIB_LIBS =

# For libraries which include headers from other libraries.
INCLUDES = -I$(winsrcdir) -I$(srcdir) -I$(includedir)

CCFLAGS = $(DEFS) $(LOCAL_DEFS) $(CPPFLAGS) $(INCLUDES) $(LOCAL_CFLAGS) $(CFLAGS)

.SUFFIXES:	.so

.c.so:
	$(RM) $@
	$(SHOBJ_CC) -c $(CCFLAGS) $(SHOBJ_CFLAGS) -o $*.so $< 
#	$(MV) $*.o $@

# The name of the main library target.

IMPORT_GDBM = libgdbm.a
EXPORT_GDBM = gdbm.dll
SHARED_LIBS = $(EXPORT_GDBM) $(IMPORT_GDBM)

# The C code source files for this library.
SRCS =	$(srcdir)/bucket.c $(srcdir)/close.c $(srcdir)/dbmclose.c \
	$(srcdir)/dbmdelete.c $(srcdir)/dbmdirfno.c $(srcdir)/dbmfetch.c \
	$(srcdir)/dbminit.c $(srcdir)/dbmopen.c $(srcdir)/dbmpagfno.c \
	$(srcdir)/dbmrdonly.c $(srcdir)/dbmseq.c $(srcdir)/dbmstore.c \
	$(srcdir)/delete.c $(srcdir)/falloc.c $(srcdir)/fetch.c \
	$(srcdir)/findkey.c $(srcdir)/gdbmclose.c $(srcdir)/gdbmdelete.c \
	$(srcdir)/gdbmerrno.c $(srcdir)/gdbmexists.c $(srcdir)/gdbmfdesc.c \
	$(srcdir)/gdbmfetch.c $(srcdir)/gdbmopen.c $(srcdir)/gdbmreorg.c \
	$(srcdir)/gdbmseq.c $(srcdir)/gdbmsetopt.c $(srcdir)/gdbmstore.c \
	$(srcdir)/gdbmsync.c $(srcdir)/global.c $(srcdir)/hash.c \
	$(srcdir)/seq.c $(srcdir)/store.c $(srcdir)/update.c \
	$(srcdir)/version.c $(winsrcdir)/win32.c

# The header files for this library.
HDRS =	$(srcdir)/dbm.h $(srcdir)/extern.h $(srcdir)/gdbmconst.h \
	$(srcdir)/gdbmdefs.h $(srcdir)/gdbmerrno.h $(srcdir)/getopt.h \
	$(srcdir)/ndbm.h $(srcdir)/proto.h $(srcdir)/systems.h \
	$(winsrcdir)/gdbm.h $(winsrcdir)/autoconf.h

OBJS =	bucket.so close.so dbmclose.so dbmdelete.so dbmdirfno.so \
	dbmfetch.so dbminit.so dbmopen.so dbmpagfno.so dbmrdonly.so \
	dbmseq.so dbmstore.so delete.so falloc.so fetch.so findkey.so \
	gdbmclose.so gdbmdelete.so gdbmerrno.so gdbmexists.so \
	gdbmfdesc.so gdbmfetch.so gdbmopen.so gdbmreorg.so gdbmseq.so \
	gdbmsetopt.so gdbmstore.so gdbmsync.so global.so hash.so \
	seq.so store.so update.so version.so win32.so

INSTALLED_HEADERS = dbm.h ndbm.h gdbm.h

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

all: $(SHARED_LIBS)

supported: $(SHARED_LIBS)

$(EXPORT_GDBM) $(IMPORT_GDBM):	$(OBJS)
	$(RM) $@
	$(SHOBJ_CC) -shared -o $@ $(OBJS) -Wl,--out-implib=$(IMPORT_GDBM) $(SHLIB_LIBS)

install: installdirs $(SHARED_LIBS)
	$(INSTALL_DATA) $(srcdir)/dbm.h $(includedir)
	$(INSTALL_DATA) $(srcdir)/ndbm.h $(includedir)
	$(INSTALL_DATA) $(winsrcdir)/gdbm.h $(includedir)
	$(INSTALL_PROGRAM) gdbm.dll $(bindir)
	$(INSTALL_DATA) libgdbm.a $(libdir)

installdirs:
	-test -n "$(includedir)" && -test -d $(includedir) || \
		mkdir -p $(includedir)
	-test -n "$(libdir)" && -test -d $(libdir) || \
		mkdir -p $(libdir)
	-test -n "$(bindir)" && -test -d $(bindir) || \
		mkdir -p $(bindir)

uninstall:
	-test -n "$(includedir)" && cd $(includedir) && \
		$(RM) $(INSTALLED_HEADERS)
	-test -n "$(libdir)" && cd $(libdir) && \
		$(RM) libgdbm.a libgdbm.old $(SHARED_LIBS)
	-test -n "$(bindir)" && cd $(bindir) && \
		$(RM) gdbm.dll

clean mostlyclean:	force
	$(RM) $(OBJS) $(SHARED_LIBS) *~

force:

# Tell versions [3.59,3.63) of GNU make not to export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

## depends (FIX ME!!!)
bucket.so: $(srcdir)/bucket.c $(winsrcdir)/autoconf.h
close.so: $(srcdir)/close.c $(winsrcdir)/autoconf.h
dbmclose.so: $(srcdir)/dbmclose.c $(winsrcdir)/autoconf.h
dbmdelete.so: $(srcdir)/dbmdelete.c $(winsrcdir)/autoconf.h
dbmdirfno.so: $(srcdir)/dbmdirfno.c $(winsrcdir)/autoconf.h
dbmfetch.so: $(srcdir)/dbmfetch.c $(winsrcdir)/autoconf.h
dbminit.so: $(srcdir)/dbminit.c $(winsrcdir)/autoconf.h
dbmopen.so: $(srcdir)/dbmopen.c $(winsrcdir)/autoconf.h
dbmpagfno.so: $(srcdir)/dbmpagfno.c $(winsrcdir)/autoconf.h
dbmrdonly.so: $(srcdir)/dbmrdonly.c $(winsrcdir)/autoconf.h
dbmseq.so: $(srcdir)/dbmseq.c $(winsrcdir)/autoconf.h
dbmstore.so: $(srcdir)/dbmstore.c $(winsrcdir)/autoconf.h
delete.so: $(srcdir)/delete.c $(winsrcdir)/autoconf.h
falloc.so: $(srcdir)/falloc.c $(winsrcdir)/autoconf.h
fetch.so: $(srcdir)/fetch.c $(winsrcdir)/autoconf.h
findkey.so: $(srcdir)/findkey.c $(winsrcdir)/autoconf.h
gdbmclose.so: $(srcdir)/gdbmclose.c $(winsrcdir)/autoconf.h
gdbmdelete.so: $(srcdir)/gdbmdelete.c $(winsrcdir)/autoconf.h
gdbmerrno.so: $(srcdir)/gdbmerrno.c $(winsrcdir)/autoconf.h
gdbmexists.so: $(srcdir)/gdbmexists.c $(winsrcdir)/autoconf.h
gdbmfdesc.so: $(srcdir)/gdbmfdesc.c $(winsrcdir)/autoconf.h
gdbmfetch.so: $(srcdir)/gdbmfetch.c $(winsrcdir)/autoconf.h
gdbmopen.so: $(srcdir)/gdbmopen.c $(winsrcdir)/autoconf.h
gdbmreorg.so: $(srcdir)/gdbmreorg.c $(winsrcdir)/autoconf.h
gdbmseq.so: $(srcdir)/gdbmseq.c $(winsrcdir)/autoconf.h
gdbmsetopt.so: $(srcdir)/gdbmsetopt.c $(winsrcdir)/autoconf.h
gdbmstore.so: $(srcdir)/gdbmstore.c $(winsrcdir)/autoconf.h
gdbmsync.so: $(srcdir)/gdbmsync.c $(winsrcdir)/autoconf.h
global.so: $(srcdir)/global.c $(winsrcdir)/autoconf.h
hash.so: $(srcdir)/hash.c $(winsrcdir)/autoconf.h
seq.so: $(srcdir)/seq.c $(winsrcdir)/autoconf.h
store.so: $(srcdir)/store.c $(winsrcdir)/autoconf.h
update.so: $(srcdir)/update.c $(winsrcdir)/autoconf.h
version.so: $(srcdir)/version.c $(winsrcdir)/autoconf.h
win32.so: $(winsrcdir)/win32.c $(winsrcdir)/autoconf.h
