#
# Makefile for Debian Linux sendmail cf files
#
# This will put a cf development tree into /usr/src/sendmail/cf .
# It makes sense because you don't need the whole source tree
# sitting around while you tinker with configurations.
#
# Jonathan Rozes <jrozes@musketeers.tufts.edu>
# Bruce Perens <Bruce@Pixar.com>
#


# Destination root (needed for testing)
DESTDIR=$(prefix)

# Where your src tree is
SRCDIR= ${DESTDIR}/usr/src

# Where your doc tree is
DOCDIR= ${DESTDIR}/usr/doc

# Where it all will land
MAILDIR= ${SRCDIR}/sendmail.cf

CFDIR= ${MAILDIR}
RCFDIR= ../${CFDIR}
RRCFDIR= ../${RCFDIR}

INSTALL= install -o root -g root -m 644
GZIP= gzip -9f

DIRS= ${SRCDIR} ${MAILDIR} ${CFDIR} ${CFDIR}/cf ${CFDIR}/cf/obj ${CFDIR}/domain \
	 ${CFDIR}/feature ${CFDIR}/hack ${CFDIR}/m4 ${CFDIR}/mailer \
	 ${CFDIR}/ostype ${CFDIR}/sh ${CFDIR}/siteconfig

CFS= deb-client.mc deb-host-exposed.mc deb-host-hidden.mc \
	 deb-local.mc deb-tcp.mc deb-uucp.mc

OBJS= deb-client.cf deb-host-exposed.cf deb-host-hidden.cf \
	 deb-local.cf deb-tcp.cf deb-uucp.cf

DOMAINS= Berkeley.m4 cs.exposed.m4 cs.hidden.m4 eecs.hidden.m4 s2k.m4

FEATURES= allmasquerade.m4 always_add_domain.m4 bitdomain.m4 domaintable.m4 \
	 mailertable.m4 nocanonify.m4 nodns.m4 notsticky.m4 nouucp.m4 \
	 nullclient.m4 redirect.m4 use_cw_file.m4 uucpdomain.m4

HACKS= cssubdomain.m4

M4S= cf.m4 nullrelay.m4 proto.m4 version.m4

MAILERS= fax.m4 local.m4 pop.m4 smtp.m4 usenet.m4 uucp.m4

OSTYPES= bsd4.3.m4 bsd4.4.m4 debian.m4 hpux.m4 linux.m4 svr4.m4

SHS= makeinfo.sh

SITECONFIGS= uucp.cogsci.m4 uucp.old.arpa.m4 uucp.ucbarpa.m4 uucp.ucbvax.m4

all: install

install: install-dirs install-files install-misc

install-dirs:
	(for i in ${DIRS} ; do if [ \! -d $$i ] ; then mkdir $$i ; fi ; done)

install-files: install-cf install-obj install-domain install-feature \
	 install-hack install-m4 install-mailer install-ostype \
	 install-sh install-siteconfig

install-cf:
	(cd cf ; make; for i in ${CFS} ; do ${INSTALL} $$i ${RCFDIR}/cf ; done)

install-obj:
	(cd cf/obj ; for i in ${OBJS} ; do ${INSTALL} $$i ${RRCFDIR}/cf/obj ; done)

install-domain:
	(cd domain ; for i in ${DOMAINS} ; do ${INSTALL} $$i ${RCFDIR}/domain ; done)

install-feature:
	(cd feature ; for i in ${FEATURES} ; do ${INSTALL} $$i ${RCFDIR}/feature ; done)

install-hack:
	(cd hack ; for i in ${HACKS} ; do ${INSTALL} $$i ${RCFDIR}/hack ; done)

install-m4:
	(cd m4 ; for i in ${M4S} ; do ${INSTALL} $$i ${RCFDIR}/m4 ; done)

install-mailer:
	(cd mailer ; for i in ${MAILERS} ; do ${INSTALL} $$i ${RCFDIR}/mailer ; done)

install-ostype:
	(cd ostype ; for i in ${OSTYPES} ; do ${INSTALL} $$i ${RCFDIR}/ostype ; done)

install-sh:
	(cd sh ; for i in ${SHS} ; do ${INSTALL} $$i ${RCFDIR}/sh ; done)

install-siteconfig:
	(cd siteconfig ; for i in ${SITECONFIGS} ; do ${INSTALL} $$i ${RCFDIR}/siteconfig ; done)

install-misc:
	(cd cf ; ${INSTALL} Makefile ${RCFDIR}/cf/Makefile)
	(if [ \! -d ${DOCDIR}/sendmail ] ; then mkdir ${DOCDIR}/sendmail ; fi)
	(cd . ; ${INSTALL} README ${DOCDIR}/sendmail/README_CF)
	(cd ${DOCDIR}/sendmail ; ${GZIP} README_CF)
