#
#ident	"@(#)smail/pd:RELEASE-3_2_0_115:Makefile,v 1.20 2003/06/18 07:03:37 woods Exp"
#
# Makefile for items that are in the public domain
#
# This file is in the public domain

SHELL=/bin/sh

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

MAKE_SUB_DIRS=getopt pathalias uuwho binmail
MISC_SUB_DIRS=sdbm strlib
SUB_DIRS=${MAKE_SUB_DIRS} ${MISC_SUB_DIRS}

ROOT=..

all mkdefs install depend: ${DEFS_SH} .MAKE
	@. ./${DEFS_SH};				\
	   sub_dirs="${MAKE_SUB_DIRS}";			\
	   case "$$DBM_LIB" in				\
	   */pd/sdbm/*)					\
	       sub_dirs="sdbm $$sub_dirs";		\
	   esac; 					\
	   for i in $$sub_dirs; do 			\
		echo "Making $@ under $$i ...";		\
		(cd $$i && { if [ -f .depend ] ; then	\
			DEPMKFILE="-f Makefile -f .depend"; \
		fi; ${MAKE} $$DEPMKFILE $@; } );	\
		rc=$$?;					\
		if [ $$rc -ne 0 ] ; then		\
			exit $$rc;			\
		fi;					\
	 done

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

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

clean clobber: .MAKE
	@for i in ${SUB_DIRS}; do			\
		echo "Making $@ under $$i ...";		\
		(cd $$i && ${MAKE} $@);			\
		rc=$$?;					\
		if [ $$rc -ne 0 ] ; then		\
			exit $$rc;			\
		fi;					\
	 done

depend: local-depend

local-depend: check_defs
	@rm -f .depend
	. ./${DEFS_SH}; echo "$$DEFS_DEPEND" >> .depend

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

mkdefs: local-mkdefs

local-mkdefs: ${DEFS_SH} ${DEFS_H} ${DEFS_SED}

clean: local-clean

local-clean:
	rm -f .${DEFS_SH} .${DEFS_H} .${DEFS_SED}

clobber: local-clobber

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


.MAKE:

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