# 
# Mach Operating System
# Copyright (c) 1992 Carnegie Mellon University
# All Rights Reserved.
# 
# Permission to use, copy, modify and distribute this software and its
# documentation is hereby granted, provided that both the copyright
# notice and this permission notice appear in all copies of the
# software, derivative works or modified versions, and any portions
# thereof, and that both notices appear in supporting documentation.
# 
# CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS 
# CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
# ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
# 
# Carnegie Mellon requests users of this software to return to
# 
#  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
#  School of Computer Science
#  Carnegie Mellon University
#  Pittsburgh PA 15213-3890
# 
# any improvements or extensions that they make and grant Carnegie the
# rights to redistribute these changes.
# 
#
# HISTORY
# $Log:	Makefile-man,v $
# Revision 2.2  92/03/05  23:16:06  rpd
# 	Created.
# 	[92/02/29            rpd]
# 

# Makefile-man is intended for installing man pages.
# Makefiles using it should look like
#
#	include ${MAKETOP}Makefile-common
#
#	MAN1PAGES = foo ...
#	MAN2PAGES = bar ...
#	MAN3PAGES = baz ...
#
#	include ${MAKETOP}Makefile-man
#	-include Makedep
#
# The sources are foo.man, bar.man, baz.man, etc.
# and they are installed in man/man1/foo.1, man/man2/foo.2,
# man/man3/baz.3, etc.
#
# Makefile-man will work in conjunction with Makefile-bin and Makefile-lib.

M1S = 1
M2S = 2
M3S = 3
M4S = 4
M5S = 5
M6S = 6
M7S = 7
M8S = 8

MAN1SRC = ${MAN1PAGES/.*/&.${M1S}}
MAN2SRC = ${MAN2PAGES/.*/&.${M2S}}
MAN3SRC = ${MAN3PAGES/.*/&.${M3S}}
MAN4SRC = ${MAN4PAGES/.*/&.${M4S}}
MAN5SRC = ${MAN5PAGES/.*/&.${M5S}}
MAN6SRC = ${MAN6PAGES/.*/&.${M6S}}
MAN7SRC = ${MAN7PAGES/.*/&.${M7S}}
MAN8SRC = ${MAN8PAGES/.*/&.${M8S}}
MANSRC = ${MAN1SRC} ${MAN2SRC} ${MAN3SRC} ${MAN4SRC} ${MAN5SRC} ${MAN6SRC} \
	${MAN7SRC} ${MAN8SRC}

IMAN1TARGET = ${MAN1PAGES;.*;${INSTALLDIR}/man/man1/&.1}
IMAN2TARGET = ${MAN2PAGES;.*;${INSTALLDIR}/man/man2/&.2}
IMAN3TARGET = ${MAN3PAGES;.*;${INSTALLDIR}/man/man3/&.3}
IMAN4TARGET = ${MAN4PAGES;.*;${INSTALLDIR}/man/man4/&.4}
IMAN5TARGET = ${MAN5PAGES;.*;${INSTALLDIR}/man/man5/&.5}
IMAN6TARGET = ${MAN6PAGES;.*;${INSTALLDIR}/man/man6/&.6}
IMAN7TARGET = ${MAN7PAGES;.*;${INSTALLDIR}/man/man7/&.7}
IMAN8TARGET = ${MAN8PAGES;.*;${INSTALLDIR}/man/man8/&.8}
IMANTARGET = ${IMAN1TARGET} ${IMAN2TARGET} ${IMAN3TARGET} ${IMAN4TARGET} \
	${IMAN5TARGET} ${IMAN6TARGET} ${IMAN7TARGET} ${IMAN8TARGET}

TMAN1TARGET = ${MAN1PAGES;.*;${TRELEASEDIR}/man/man1/&.1}
TMAN2TARGET = ${MAN2PAGES;.*;${TRELEASEDIR}/man/man2/&.2}
TMAN3TARGET = ${MAN3PAGES;.*;${TRELEASEDIR}/man/man3/&.3}
TMAN4TARGET = ${MAN4PAGES;.*;${TRELEASEDIR}/man/man4/&.4}
TMAN5TARGET = ${MAN5PAGES;.*;${TRELEASEDIR}/man/man5/&.5}
TMAN6TARGET = ${MAN6PAGES;.*;${TRELEASEDIR}/man/man6/&.6}
TMAN7TARGET = ${MAN7PAGES;.*;${TRELEASEDIR}/man/man7/&.7}
TMAN8TARGET = ${MAN8PAGES;.*;${TRELEASEDIR}/man/man8/&.8}
TMANTARGET = ${TMAN1TARGET} ${TMAN2TARGET} ${TMAN3TARGET} ${TMAN4TARGET} \
	${TMAN5TARGET} ${TMAN6TARGET} ${TMAN7TARGET} ${TMAN8TARGET}

# Top-level targets:
# If the Makefile wants to do more stuff, it can also have its own
# all/install/release/clean rules.

all :: ${MANSRC}

install :: ${IMANTARGET}

release :: ${TMANTARGET}

clean ::
	${RM} ${IMANTARGET}

# installation rules

${IMAN1TARGET} : $${@;.*/man/man1/(.*)\.1;\1.${M1S}}
	${RM} $@
	${CP} $? $@
	${CHMOD_MAN} $@

${IMAN2TARGET} : $${@;.*/man/man2/(.*)\.2;\1.${M2S}}
	${RM} $@
	${CP} $? $@
	${CHMOD_MAN} $@

${IMAN3TARGET} : $${@;.*/man/man3/(.*)\.3;\1.${M3S}}
	${RM} $@
	${CP} $? $@
	${CHMOD_MAN} $@

${IMAN4TARGET} : $${@;.*/man/man4/(.*)\.4;\1.${M4S}}
	${RM} $@
	${CP} $? $@
	${CHMOD_MAN} $@

${IMAN5TARGET} : $${@;.*/man/man5/(.*)\.5;\1.${M5S}}
	${RM} $@
	${CP} $? $@
	${CHMOD_MAN} $@

${IMAN6TARGET} : $${@;.*/man/man6/(.*)\.6;\1.${M6S}}
	${RM} $@
	${CP} $? $@
	${CHMOD_MAN} $@

${IMAN7TARGET} : $${@;.*/man/man7/(.*)\.7;\1.${M7S}}
	${RM} $@
	${CP} $? $@
	${CHMOD_MAN} $@

${IMAN8TARGET} : $${@;.*/man/man8/(.*)\.8;\1.${M8S}}
	${RM} $@
	${CP} $? $@
	${CHMOD_MAN} $@

# release rules

${TMAN1TARGET} : $${@;.*/(man/man1/.*\.1);${FRELEASEDIR}/\1}
	${RM} $@
	${CP} $? $@

${TMAN2TARGET} : $${@;.*/(man/man2/.*\.2);${FRELEASEDIR}/\1}
	${RM} $@
	${CP} $? $@

${TMAN3TARGET} : $${@;.*/(man/man3/.*\.3);${FRELEASEDIR}/\1}
	${RM} $@
	${CP} $? $@

${TMAN4TARGET} : $${@;.*/(man/man4/.*\.4);${FRELEASEDIR}/\1}
	${RM} $@
	${CP} $? $@

${TMAN5TARGET} : $${@;.*/(man/man5/.*\.5);${FRELEASEDIR}/\1}
	${RM} $@
	${CP} $? $@

${TMAN6TARGET} : $${@;.*/(man/man6/.*\.6);${FRELEASEDIR}/\1}
	${RM} $@
	${CP} $? $@

${TMAN7TARGET} : $${@;.*/(man/man7/.*\.7);${FRELEASEDIR}/\1}
	${RM} $@
	${CP} $? $@

${TMAN8TARGET} : $${@;.*/(man/man8/.*\.8);${FRELEASEDIR}/\1}
	${RM} $@
	${CP} $? $@

