246 lines
7.0 KiB
Makefile
246 lines
7.0 KiB
Makefile
#! smake
|
|
# generate sendmail from sendmail.org
|
|
#
|
|
# SGI BUILDERS AND ENGINEERS
|
|
# This is not a normal sgi style makefile
|
|
# Engineers ... Read the file README.SGI for instructions on working in
|
|
# this tree
|
|
# Builders .... This Makefile should correctly drive the sendmail build.
|
|
#
|
|
# "/proj/irix6.5m/eoe/cmd/sendmail/RCS/Makefile,v 1.6 1999/11/05 00:56:09 mende Exp"
|
|
|
|
SENDMAIL_VERSION= sendmail-8.9.3
|
|
SRC_DIRT= src.symlinks src.files src.dirs cf.dirs cf.files
|
|
ABI=-n32 -mips3
|
|
LDIRT= cf.dirs cf.files current.idb src.symlinks IDB sendmail.idb $(SRC_DIRT)
|
|
MAN_PAGES=sendmail/src/aliases.5.z sendmail/src/mailq.1.z \
|
|
sendmail/src/newaliases.1.z sendmail/src/sendmail.8.z \
|
|
sendmail/mail.local/mail.local.8.z \
|
|
sendmail/mailstats/mailstats.8.z \
|
|
sendmail/makemap/makemap.8.z \
|
|
sendmail/praliases/praliases.8.z \
|
|
sendmail/rmail/rmail.8.z
|
|
SM_TARGETS=/usr/lib/sendmail /usr/etc/mail.local /usr/bsd/mailstats /usr/bsd/makemap /usr/bsd/praliases /usr/bin/rmail
|
|
SM_LINKS=mailq newaliases
|
|
SUBDIRS= sgi
|
|
|
|
include ${ROOT}/usr/include/make/commondefs
|
|
|
|
INSTALL_EOE=${INSTALL} -u root -g sys -idb "EOE"
|
|
INSTALL_MAIL=${INSTALL} -u root -g mail -idb "EOE"
|
|
INSTALL_MAN=${INSTALL} -u root -g sys -idb "MAN_STD" -m 444
|
|
INSTALL_SRC=${INSTALL} -u root -g sys -idb "SENDMAIL_SRC"
|
|
|
|
all: sendmail
|
|
# Mark this version as ours just for the build
|
|
mv sendmail/src/version.c sendmail/src/version.c_stock
|
|
sed 's/Version\[\] = \"/Version\[\] = \"SGI-/' < sendmail/src/version.c_stock > sendmail/src/version.c
|
|
# building sendmail
|
|
for i in sendmail ${SUBDIRS} ; do \
|
|
( cd $$i ; MAKE=${MAKE} ABI="$(ABI)" $(MAKE) $@ ); \
|
|
done
|
|
# Revert to stock version.c
|
|
mv sendmail/src/version.c_stock sendmail/src/version.c
|
|
# making repeatable pathnames
|
|
j=`find sendmail/src/* -type d -print` ; \
|
|
k=`basename $$j` ; \
|
|
l=`find sendmail -type d -name $$k -print` ; \
|
|
for i in $$l ; do \
|
|
m=`dirname $$i` ; \
|
|
if ! test -d $$m/obj ; then \
|
|
mv $$m/$$k $$m/obj ; \
|
|
fi ; \
|
|
done
|
|
# man pages
|
|
${MAKE} manpages
|
|
|
|
default: all
|
|
|
|
manpages: ${MAN_PAGES}
|
|
|
|
${MAN_PAGES}:
|
|
dirname=`dirname $@` ; \
|
|
basename=`basename $@` ; \
|
|
page=`echo $$basename | sed 's/\.[0-9].*//'` ; \
|
|
section=`echo $$basename | sed -e 's/\.z//' -e 's/^.*\.//'` ; \
|
|
if ! test -e sendmail/man/$${page}.z ; then \
|
|
cp $$dirname/obj/$${page}.0 sendmail/man/$$page ; \
|
|
pack -f sendmail/man/$$page ; \
|
|
fi
|
|
|
|
clean clobber:
|
|
./clobber-tree ${SENDMAIL_VERSION}
|
|
rm -rf sendmail
|
|
for i in ${SUBDIRS}; do \
|
|
(cd $$i ; MAKE=${MAKE} ABI="$(ABI)" $(MAKE) $@ ); \
|
|
done
|
|
rm -f ${DIRT} ${LDIRT}
|
|
|
|
headers exports:
|
|
|
|
sendmail: src.all
|
|
./symlink-tree preserve ${SENDMAIL_VERSION}
|
|
tlink ${SENDMAIL_VERSION} sendmail
|
|
./symlink-tree restore ${SENDMAIL_VERSION}
|
|
./symlink-tree restore sendmail
|
|
if ! test -d sendmail/man ; then \
|
|
mkdir sendmail/man ; \
|
|
fi
|
|
rm -f man.format
|
|
if test -e /usr/lib/tmac/tmac.andoc; then \
|
|
echo "using nroff" > man.format ; \
|
|
echo "define(\`confNROFF',\`nroff')" > sendmail/BuildTools/Site/site.config.m4 ; \
|
|
fi
|
|
if test -x /usr/gnu/bin/groff; then \
|
|
echo "using groff" > man.format ; \
|
|
fi
|
|
if test ! -e man.format ; then \
|
|
echo "Using preformatted man pages (hack)" > man.format ; \
|
|
mv sendmail/BuildTools/bin/Build sendmail/BuildTools/bin/Build.lnk ; \
|
|
sed 's/ch158/ch1580/' < sendmail/BuildTools/bin/Build.lnk > sendmail/BuildTools/bin/Build ; \
|
|
for i in ${MAN_PAGES}; do \
|
|
dirname=`dirname $$i` ; \
|
|
basename=`basename $$i` ; \
|
|
page=`echo $$basename | sed 's/\.[0-9].*//'` ; \
|
|
mv $${dirname}/$${page}.0 $${dirname}/$${page}.0.lnk ; \
|
|
cp $${dirname}/$${page}.0.lnk $${dirname}/$${page}.0 ; \
|
|
done ; \
|
|
fi
|
|
cat man.format
|
|
rm -f man.format
|
|
|
|
${SENDMAIL_VERSION}/.symlinks:
|
|
if ! test -e $@; then \
|
|
./symlink-tree preserve ${SENDMAIL_VERSION}; \
|
|
fi
|
|
|
|
src.all:
|
|
rm -f $(SRC_DIRT)
|
|
${MAKE} $(SRC_DIRT)
|
|
|
|
src.symlinks: ${SENDMAIL_VERSION}/.symlinks
|
|
sed -e 's/^\./sendmail/' < $(SENDMAIL_VERSION)/.symlinks > $@
|
|
|
|
src.files:
|
|
find ${SENDMAIL_VERSION} -type f -print | \
|
|
grep -v '\.symlinks$$' | \
|
|
sed -e 's/${SENDMAIL_VERSION}/sendmail/' > $@
|
|
|
|
src.dirs:
|
|
find ${SENDMAIL_VERSION} -type d -print | \
|
|
sed -e 's/${SENDMAIL_VERSION}/sendmail/' > $@
|
|
|
|
cf.dirs: src.dirs
|
|
grep sendmail/cf src.dirs > $@
|
|
|
|
cf.files: src.files
|
|
grep sendmail/cf src.files | egrep -v '(ostype|cf/cf|siteconfig|/domain/)' > $@
|
|
grep sendmail/cf/ostype src.files | egrep '(irix|unknown)' >> $@
|
|
grep sendmail/cf/cf src.files | grep 'proto' >> $@
|
|
grep sendmail/cf/domain/generic src.files >> $@
|
|
|
|
install: default src.all
|
|
# install SM_TARGETS
|
|
( cd sendmail/src/obj ; \
|
|
${INSTALL_EOE} -m 4755 sendmail /usr/lib/sendmail )
|
|
( cd sendmail/src/obj ; \
|
|
${INSTALL_EOE} -m 755 sendmail.hf /usr/lib/sendmail.hf)
|
|
( cd sendmail/mail.local/obj ; \
|
|
${INSTALL} -u root -g mail -idb "EOE" -m 4755 mail.local /usr/bin/mail.local)
|
|
( cd sendmail/mailstats/obj ; \
|
|
${INSTALL_EOE} -m 755 mailstats /usr/bsd/mailstats)
|
|
( cd sendmail/makemap/obj ; \
|
|
${INSTALL_EOE} -m 755 makemap /usr/bsd/makemap)
|
|
( cd sendmail/praliases/obj ; \
|
|
${INSTALL_EOE} -m 755 praliases /usr/bsd/praliases)
|
|
( cd sendmail/rmail/obj ; \
|
|
${INSTALL_MAIL} -m 755 rmail /usr/bin/rmail)
|
|
#
|
|
# install SM_LINKS
|
|
for i in ${SM_LINKS} ; do \
|
|
${INSTALL_EOE} -F /usr/bsd -lns ../lib/sendmail $$i ; \
|
|
done
|
|
#
|
|
# install MAN_PAGES
|
|
#
|
|
for i in ${MAN_PAGES}; do \
|
|
k=`basename $$i` ; \
|
|
page=`echo $$k | sed 's/\.[^\.]*\.z/\.z/'` ; \
|
|
section=`echo $$k | sed -e 's/\.z//' -e 's/^.*\.//'` ; \
|
|
if test "$$section" = "8"; then section=1; fi ; \
|
|
if test "$$section" = "5"; then \
|
|
section=4 ; \
|
|
mansect="p_man" ; \
|
|
else \
|
|
mansect="a_man" ; \
|
|
fi ; \
|
|
( cd sendmail/man ; \
|
|
${INSTALL_MAN} $$page /usr/share/catman/$${mansect}/cat$${section}/$${page} ; \
|
|
) ; \
|
|
done
|
|
# install config files
|
|
#
|
|
# install system dirs
|
|
${INSTALL} -idb "EOE" -u root -g mail -m 0775 -dir /var/spool/mqueue
|
|
#
|
|
# install src.dirs
|
|
for i in `cat src.dirs` ; do \
|
|
( cd $$i ; \
|
|
${INSTALL_SRC} -m 755 -dir /usr/share/src/$$i ; \
|
|
) ; \
|
|
done
|
|
#
|
|
# install src.files
|
|
for i in `cat src.files` ; do \
|
|
j=`dirname $$i` ; \
|
|
k=`basename $$i` ; \
|
|
(cd $$j ; \
|
|
${INSTALL_SRC} -m 444 $$k /usr/share/src/$$i ; \
|
|
) ; \
|
|
done
|
|
#
|
|
# install src.symlinks
|
|
cat src.symlinks | while read i; do set $$i ; \
|
|
j=`echo $$1 | sed 's/^sendmail\///'` ; \
|
|
${INSTALL_SRC} -F /usr/share/src/sendmail -lns $$2 $$j ; \
|
|
done
|
|
#
|
|
# install cf.dirs
|
|
for i in `cat cf.dirs` ; do \
|
|
h=`echo $$i | sed 's/^sendmail\/cf/sendmail.cf_m4/'` ; \
|
|
( cd $$i ; \
|
|
${INSTALL_EOE} -m 755 -dir /usr/lib/$$h ; \
|
|
) ; \
|
|
done
|
|
#
|
|
# install cf.files
|
|
for i in `cat cf.files` ; do \
|
|
h=`echo $$i | sed 's/^sendmail\/cf\///'` ; \
|
|
j=`dirname $$i` ; \
|
|
k=`basename $$i` ; \
|
|
(cd $$j ; \
|
|
${INSTALL_EOE} -m 644 $$k /usr/lib/sendmail.cf_m4/$$h ; \
|
|
) ; \
|
|
done
|
|
#
|
|
# Install in subdirs
|
|
for i in $(SUBDIRS) ; do \
|
|
(cd $$i ; $(MAKE) $@ ) ; \
|
|
done
|
|
|
|
sendmail.idb:
|
|
rm -f IDB
|
|
SRC=$$WORKAREA/irix6.5m/eoe \
|
|
RAWIDB=$$WORKAREA/irix6.5m/eoe/cmd/sendmail/IDB \
|
|
$(MAKE) install
|
|
sort +4 -6 -u IDB > $@
|
|
rm -f IDB
|
|
|
|
../../build/idb:: FRC
|
|
p_tupdate $@
|
|
|
|
current.idb: ../../build/idb
|
|
egrep 'sendmail|rmail' ../../build/idb > $@
|
|
|
|
FRC:
|