#
#ident	"@(#)smail/pd/sdbm:RELEASE-3_2_0_115:Makefile,v 1.17 2003/06/11 20:06:04 woods Exp"
#
# Makefile for the sdbm library as distributed with smail.
#
# See the file COPYING, distributed with smail, for restriction
# and warranty information.

SHELL=/bin/sh
AR=ar
LINT=lint

MKDEPEND=${ROOT}/conf/lib/mkdepend.sh
MKDEFS=${ROOT}/conf/lib/mkdefs.sh
CHECKDEFS=${ROOT}/conf/lib/checkdefs.sh
XEXEC=${SHELL} ${ROOT}/conf/lib/xexec.sh
DEFS_SH=defs.sh
DEFS_H=defs.h
DEFS_SED=defs.sed

ROOT=../..
MISCSRC=Makefile

OBJ = sdbm.o pair.o hash.o
TEST = dba dbd dbu
TEST_OBJ = dba.o dbd.o dbu.o util.o
CSRC = sdbm.c pair.c hash.c dba.c dbd.c dbu.c util.c
HSRC = dbm.h pair.h sdbm.h tune.h
MISCSRC = Makefile grind dbe.c dbm.c
SRC = $(MISCSRC) $(CSRC) $(HSRC)
CHDR = tune.h sdbm.h pair.h

.c.o:
	@. ./${DEFS_SH}; ${XEXEC} $$CC $$CFLAGS -DSDBM $$INCLUDES -c $*.c

all:	sdbm.a $(TEST)

sdbm.a: ${DEFS_SH} ${OBJ}
	@. ./${DEFS_SH}; \
	   ${XEXEC} ${AR} rc sdbm.a ${OBJ}; \
	   ${XEXEC} $$RANLIB sdbm.a

dba: dba.o util.o sdbm.a
	@. ./${DEFS_SH}; \
	   ${XEXEC} $$CC $$CFLAGS $$LDFLAGS -o $@ $@.o util.o sdbm.a $$LIBS
dbd: dbd.o util.o sdbm.a
	@. ./${DEFS_SH}; \
	   ${XEXEC} $$CC $$CFLAGS $$LDFLAGS -o $@ $@.o util.o sdbm.a $$LIBS
dbu: dbu.o util.o sdbm.a
	@. ./${DEFS_SH}; \
	   ${XEXEC} $$CC $$CFLAGS $$LDFLAGS -o $@ $@.o util.o sdbm.a $$LIBS

mkdefs ${DEFS_SH}: ${ROOT}/conf/EDITME
	ROOT=${ROOT} ${SHELL} ${MKDEFS}

${ROOT}/conf/EDITME: .MAKE # cannot depend on anything!
	cd ${ROOT}/conf && ${MAKE} EDITME

depend: check_defs
	@rm -f .depend
	@. ./${DEFS_SH}; ${XEXEC} ${SHELL} ${MKDEPEND} $$CPPFLAGS $$INCLUDES ${CSRC}
	. ./${DEFS_SH}; echo "$$DEFS_DEPEND" >> .depend

check_defs:
	SHELL=${SHELL} ROOT=${ROOT} ${SHELL} ${CHECKDEFS}

install:

clean:
	rm -f .${DEFS_SH} .${DEFS_H} .${DEFS_SED}
	rm -f ${OBJ} ${TEST_OBJ}
	rm -f a.out core
	rm -f sdbm.a

clobber: clean
	rm -f .depend
	rm -f ${DEFS_SH} ${DEFS_H} ${DEFS_SED}
	rm -f ${TEST}

.MAKE:

.PHONY: all install local-install clean local-clean clobber local-clobber depend local-depend lint mkdefs check_defs tags TAGS
