# $Id: Makefile,v 1.14 1999/09/28 02:21:45 nathanw Exp $

SHELL=/bin/sh
ATHRBINDIR=/bin/athena
ATHBINDIR=/usr/athena/bin
ATHETCDIR=/usr/athena/etc
ATHMANDIR=/usr/athena/man
ATHLIBEXECDIR=/usr/athena/libexec
ATTACHRUN=addusr blanche bos chfn chpobox chsh dcmmaint help klog \
	listmaint mailmaint moira mrcheck namespace olh olh_ascii \
	olh_motif pts usermaint vos xinfo \
	show-application show-audio show-binhex show-image \
	show-msword show-pdf show-postscript show-text show-video \
	store-binhex
ANDREW=/afs/sipb.mit.edu/system/andrew
MOIRA=/afs/athena.mit.edu/system/moira
HELP=/afs/athena.mit.edu/system/help
MKSERV=/afs/sipb.mit.edu/system/mkserv
TELLME=/afs/athena.mit.edu/system/config/tellme

# We make a lot of symlinks here, so we're going to make a hack to make it
# a little more readable.
SYMLINKS=	${MOIRA}/man/man1/addusr.1	${ATHMANDIR}/man1/addusr.1 \
		${MOIRA}/man/cat1/addusr.1	${ATHMANDIR}/cat1/addusr.1 \
		${MOIRA}/man/man1/blanche.1	${ATHMANDIR}/man1/blanche.1 \
		${MOIRA}/man/cat1/blanche.1	${ATHMANDIR}/cat1/blanche.1 \
		${MOIRA}/man/man1/chfn.1	${ATHMANDIR}/man1/chfn.1 \
		${MOIRA}/man/cat1/chfn.1	${ATHMANDIR}/cat1/chfn.1 \
		${MOIRA}/man/man1/chpobox.1	${ATHMANDIR}/man1/chpobox.1 \
		${MOIRA}/man/cat1/chpobox.1	${ATHMANDIR}/cat1/chpobox.1 \
		${MOIRA}/man/man1/chsh.1	${ATHMANDIR}/man1/chsh.1 \
		${MOIRA}/man/cat1/chsh.1	${ATHMANDIR}/cat1/chsh.1 \
		${MOIRA}/man/man1/dcmmaint.1	${ATHMANDIR}/man1/dcmmaint.1 \
		${MOIRA}/man/cat1/dcmmaint.1	${ATHMANDIR}/cat1/dcmmaint.1 \
		${HELP}/man/man1/help.1		${ATHMANDIR}/man1/help.1 \
		${HELP}/man/cat1/help.1		${ATHMANDIR}/cat1/help.1 \
		${MOIRA}/man/man1/listmaint.1	${ATHMANDIR}/man1/listmaint.1 \
		${MOIRA}/man/cat1/listmaint.1	${ATHMANDIR}/cat1/listmaint.1 \
		${MOIRA}/man/man1/mailmaint.1	${ATHMANDIR}/man1/mailmaint.1 \
		${MOIRA}/man/cat1/mailmaint.1	${ATHMANDIR}/cat1/mailmaint.1 \
		${MOIRA}/man/man1/moira.1	${ATHMANDIR}/man1/moira.1 \
		${MOIRA}/man/cat1/moira.1	${ATHMANDIR}/cat1/moira.1 \
		${MOIRA}/man/man1/mrcheck.1	${ATHMANDIR}/man1/mrcheck.1 \
		${MOIRA}/man/cat1/mrcheck.1	${ATHMANDIR}/cat1/mrcheck.1 \
		${HELP}/man/man1/olh.1		${ATHMANDIR}/man1/olh.1 \
		${HELP}/man/cat1/olh.1		${ATHMANDIR}/cat1/olh.1 \
		${MOIRA}/man/man1/usermaint.1	${ATHMANDIR}/man1/usermaint.1 \
		${MOIRA}/man/cat1/usermaint.1	${ATHMANDIR}/cat1/usermaint.1 \
		${MKSERV}/man/man8/mkserv.8	${ATHMANDIR}/man8/mkserv.8 \
		${MKSERV}/man/cat8/mkserv.8	${ATHMANDIR}/cat8/mkserv.8 \
	${MOIRA}/man/man8/update_server.8  ${ATHMANDIR}/man8/update_server.8 \
	${MOIRA}/man/cat8/update_server.8  ${ATHMANDIR}/cat8/update_server.8

all: ${ATTACHRUN}
	cd os/${OS} && ${MAKE} $@

${ATTACHRUN}: specs template.sh
	set `grep '^$@[ 	]' specs`; sed -e "s|@LOCKER@|$$2|g" \
		-e "s|@PROGRAM@|$@|g" template.sh > $@

check:
	cd os/${OS} && ${MAKE} $@

install:
	mkdir -p ${DESTDIR}/usr
	mkdir -p ${DESTDIR}${ATHRBINDIR}
	mkdir -p ${DESTDIR}${ATHBINDIR}
	mkdir -p ${DESTDIR}${ATHETCDIR}
	mkdir -p ${DESTDIR}${ATHMANDIR}/man1
	mkdir -p ${DESTDIR}${ATHMANDIR}/cat1
	mkdir -p ${DESTDIR}${ATHMANDIR}/man8
	mkdir -p ${DESTDIR}${ATHMANDIR}/cat8
	install -c -m 555 addusr ${DESTDIR}${ATHBINDIR}
	install -c -m 555 blanche ${DESTDIR}${ATHBINDIR}
	install -c -m 555 bos ${DESTDIR}${ATHRBINDIR}
	install -c -m 555 chfn ${DESTDIR}${ATHBINDIR}
	install -c -m 555 chpobox ${DESTDIR}${ATHBINDIR}
	install -c -m 555 chsh ${DESTDIR}${ATHBINDIR}
	install -c -m 555 dcmmaint ${DESTDIR}${ATHBINDIR}
	install -c -m 555 help ${DESTDIR}${ATHBINDIR}
	install -c -m 555 klog ${DESTDIR}${ATHRBINDIR}
	install -c -m 555 mkserv.sh ${DESTDIR}${ATHBINDIR}/mkserv
	install -c -m 555 listmaint ${DESTDIR}${ATHBINDIR}
	install -c -m 555 mailmaint ${DESTDIR}${ATHBINDIR}
	install -c -m 555 moira ${DESTDIR}${ATHBINDIR}
	install -c -m 555 mrcheck ${DESTDIR}${ATHBINDIR}
	install -c -m 555 namespace ${DESTDIR}${ATHBINDIR}
	install -c -m 555 olc_answers.sh ${DESTDIR}${ATHBINDIR}/olc_answers
	install -c -m 555 olh ${DESTDIR}${ATHBINDIR}
	install -c -m 555 olh_ascii ${DESTDIR}${ATHBINDIR}
	install -c -m 555 olh_motif ${DESTDIR}${ATHBINDIR}
	install -c -m 555 psgrind.sh ${DESTDIR}${ATHBINDIR}/psgrind
	install -c -m 555 pts ${DESTDIR}${ATHRBINDIR}
	install -c -m 555 sis.sh ${DESTDIR}${ATHBINDIR}/sis
	install -c -m 555 usermaint ${DESTDIR}${ATHBINDIR}
	install -c -m 555 vacation.sh ${DESTDIR}${ATHBINDIR}/vacation
	install -c -m 555 verify-message.sh \
		${DESTDIR}${ATHBINDIR}/verify-message
	install -c -m 555 vos ${DESTDIR}${ATHRBINDIR}
	install -c -m 555 xinfo ${DESTDIR}${ATHBINDIR}
	install -c -m 444 xinfo.1 ${DESTDIR}${ATHMANDIR}/man1
	install -c -m 555 xlock.sh ${DESTDIR}${ATHBINDIR}/xlock
	install -c -m 555 show-application ${DESTDIR}${ATHLIBEXECDIR}
	install -c -m 555 show-audio ${DESTDIR}${ATHLIBEXECDIR}
	install -c -m 555 show-binhex ${DESTDIR}${ATHLIBEXECDIR}
	install -c -m 555 show-image ${DESTDIR}${ATHLIBEXECDIR}
	install -c -m 555 show-msword ${DESTDIR}${ATHLIBEXECDIR}
	install -c -m 555 show-pdf ${DESTDIR}${ATHLIBEXECDIR}
	install -c -m 555 show-postscript ${DESTDIR}${ATHLIBEXECDIR}
	install -c -m 555 show-text ${DESTDIR}${ATHLIBEXECDIR}
	install -c -m 555 show-video ${DESTDIR}${ATHLIBEXECDIR}
	install -c -m 555 store-binhex ${DESTDIR}${ATHLIBEXECDIR}
	@set ${SYMLINKS}; while [ $$# -ne 0 ]; do \
		echo rm -f ${DESTDIR}$$2; \
		rm -f ${DESTDIR}$$2; \
		echo ln -s $$1 ${DESTDIR}$$2; \
		ln -s $$1 ${DESTDIR}$$2; \
		shift 2; \
	done
	rm -f ${DESTDIR}${ATHETCDIR}/update_server
	ln -s `athdir -c -p ${MOIRA} -t bin`/update_server \
		${DESTDIR}${ATHETCDIR}/update_server
	rm -f ${DESTDIR}${ATHBINDIR}/tellme
	ln -s `athdir -c -p ${TELLME} -t bin`/tellme \
		${DESTDIR}${ATHBINDIR}/tellme
	rm -f ${DESTDIR}/usr/andrew
	. ../build/version; \
		vers=$$major.$$minor; \
		ln -s ${ANDREW}/athena-$$vers/$$HOSTTYPE ${DESTDIR}/usr/andrew
	cd os/${OS} && ${MAKE} $@

clean:
	rm -f ${ATTACHRUN}
	cd os/${OS} && ${MAKE} $@

distclean:
	rm -f ${ATTACHRUN}
	cd os/${OS} && ${MAKE} $@
