shithub: sdbm

ref: 64e312636599ea2c86f21dc1176dca7da77bd74a
dir: /mkfile/

View raw version
</$objtype/mkfile

PROGS=		dba\
			dbd\
			dbe\
			dbu

LIB=		libsdbm.a

LIBOBJ=		hash.$O\
			pair.$O\
			sdbm.$O

LIBHDR=		sdbm.h

HFILES= 	$LIBHDR\
			pair.h\
			tune.h

BIN=		/$objtype/bin
LIBDIR=		/$objtype/lib
INCLUDEDIR=	/sys/include
MANDIR=		/sys/man

CFLAGS=		$CFLAGS -DDUFF -DTIME #-DDEBUG

TESTDB=		/tmp/sdbmtest

all:V:		$LIB $PROGS

$LIBOBJ:	$HFILES

$LIB:		$LIBOBJ
			ar vu $LIB $LIBOBJ

dba:		dba.$O util.$O $LIB 
			$LD $LDFLAGS -o $target $prereq

dbd:		dbd.$O util.$O $LIB
			$LD $LDFLAGS -o $target $prereq

dbu:		dbu.$O util.$O $LIB
			$LD $LDFLAGS -o $target $prereq

dbe:		dbe.$O $LIB
			$LD $LDFLAGS -o $target $prereq

%.$O:		%.c
			$CC $CFLAGS $stem.c

nuke:V:		clean
clean:V:	cleantest
			rm -f $PROGS *.$O
			rm -f $LIBOBJ
			rm -f $LIB
			rm -f README

readme:V:	README
README:		readme.ms
			nroff -ms readme.ms | col -b >README

cleantest:V:
			rm -f $TESTDB.pag $TESTDB.dir

test:V:		all cleantest
			awk ' /^[A-Z].*/ {
				printf "%s\t", $1
				for (i = 0; i< 40; i++)
					printf "%s.", $1
			printf "\n" 
			}' /lib/dict/pgwindex | dbu build $TESTDB
			dba $TESTDB | tail -2

uninstall:V:
			rm -f $LIBDIR/$LIB
			rm -f $INCLUDEDIR/sdbm.h
			rm -f $MANDIR/3/sdbm

install:	$LIB sdbm.h 
			cp $LIB $LIBDIR
			cp sdbm.h $INCLUDEDIR
			echo '#pragma lib "'$LIB'"' >> $INCLUDEDIR/sdbm.h
			cp man/sdbm.3 $MANDIR/3/sdbm

dbeinstall:	dbe
			cp dbe $BIN
			cp man/dbe.1 $MANDIR/1/dbe

dbeuninstall:
			rm -f $BIN/dbe
			rm -f $MANDIR/1/dbe

allinstall:V: install dbeinstall

alluninstall:V: uninstall dbeuninstall