diff options
Diffstat (limited to 'pmake.hack/bsd.man.mk')
-rw-r--r-- | pmake.hack/bsd.man.mk | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/pmake.hack/bsd.man.mk b/pmake.hack/bsd.man.mk new file mode 100644 index 0000000..532ddf1 --- /dev/null +++ b/pmake.hack/bsd.man.mk @@ -0,0 +1,156 @@ +# $NetBSD: bsd.man.mk,v 1.45 1999/02/13 16:34:39 christos Exp $ +# @(#)bsd.man.mk 8.1 (Berkeley) 6/8/93 + +.if !target(__initialized__) +__initialized__: +.if exists(${.CURDIR}/../Makefile.inc) +.include "${.CURDIR}/../Makefile.inc" +.endif +.include <bsd.own.mk> +.include <bsd.obj.mk> +.MAIN: all +.endif + +.PHONY: catinstall maninstall catpages manpages catlinks manlinks cleanman +.if ${MKMAN} != "no" +realinstall: ${MANINSTALL} +.endif +cleandir distclean: cleanman + +MANTARGET?= cat +NROFF?= nroff +TBL?= tbl + +.SUFFIXES: .1 .2 .3 .4 .5 .6 .7 .8 .9 \ + .cat1 .cat2 .cat3 .cat4 .cat5 .cat6 .cat7 .cat8 .cat9 + +.9.cat9 .8.cat8 .7.cat7 .6.cat6 .5.cat5 .4.cat4 .3.cat3 .2.cat2 .1.cat1: +.if !defined(USETBL) + @echo "${NROFF} -mandoc ${.IMPSRC} > ${.TARGET}" + @${NROFF} -mandoc ${.IMPSRC} > ${.TARGET} || \ + (rm -f ${.TARGET}; false) +.else + @echo "${TBL} ${.IMPSRC} | ${NROFF} -mandoc > ${.TARGET}" + @${TBL} ${.IMPSRC} | ${NROFF} -mandoc > ${.TARGET} || \ + (rm -f ${.TARGET}; false) +.endif + +.if defined(MAN) && !empty(MAN) +MANPAGES= ${MAN} +CATPAGES= ${MANPAGES:C/(.*).([1-9])/\1.cat\2/} +.endif + +MINSTALL= ${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${MANOWN} \ + -g ${MANGRP} -m ${MANMODE} + +.if defined(MANZ) +# chown and chmod are done afterward automatically +MCOMPRESS= gzip -9cf +MCOMPRESSSUFFIX= .gz +.endif + +catinstall: catlinks +maninstall: manlinks + +__installpage: .USE +.if defined(MCOMPRESS) && !empty(MCOMPRESS) + @rm -f ${.TARGET} + ${MCOMPRESS} ${.ALLSRC} > ${.TARGET} + @chown ${MANOWN}:${MANGRP} ${.TARGET} + @chmod ${MANMODE} ${.TARGET} +.else + ${MINSTALL} ${.ALLSRC} ${.TARGET} +.endif + + +# Rules for cat'ed man page installation +.if defined(CATPAGES) && !empty(CATPAGES) && ${MKCATPAGES} != "no" +. for P in ${CATPAGES} +catpages:: ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX} + +. if !defined(UPDATE) +.PHONY: ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX} +. endif +. if !defined(BUILD) +${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}: .MADE +. endif + +.PRECIOUS: ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX} +${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}: ${P} __installpage +. endfor +.else +catpages:: +.endif + +# Rules for source page installation +.if defined(MANPAGES) && !empty(MANPAGES) +. for P in ${MANPAGES} +manpages:: ${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX} +. if !defined(UPDATE) +.PHONY: ${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX} +. endif + +.PRECIOUS: ${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX} +${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}: ${P} __installpage +. endfor +.else +manpages:: +.endif + +.if ${MKCATPAGES} != "no" +catlinks: catpages +.if defined(MLINKS) && !empty(MLINKS) + @set ${MLINKS}; \ + while test $$# -ge 2; do \ + name=$$1; \ + shift; \ + dir=${DESTDIR}${MANDIR}/cat$${name##*.}; \ + l=$${dir}${MANSUBDIR}/$${name%.*}.0${MCOMPRESSSUFFIX}; \ + name=$$1; \ + shift; \ + dir=${DESTDIR}${MANDIR}/cat$${name##*.}; \ + t=$${dir}${MANSUBDIR}/$${name%.*}.0${MCOMPRESSSUFFIX}; \ + if [ -z "${UPDATE}" -o ! -f $$t ]; then \ + echo $$t -\> $$l; \ + ln -sf $$l $$t; \ + fi; \ + done +.endif +.else +catlinks: +.endif + +manlinks: manpages +.if defined(MLINKS) && !empty(MLINKS) + @set ${MLINKS}; \ + while test $$# -ge 2; do \ + name=$$1; \ + shift; \ + dir=${DESTDIR}${MANDIR}/man$${name##*.}; \ + l=$${dir}${MANSUBDIR}/$${name}${MCOMPRESSSUFFIX}; \ + name=$$1; \ + shift; \ + dir=${DESTDIR}${MANDIR}/man$${name##*.}; \ + t=$${dir}${MANSUBDIR}/$${name}${MCOMPRESSSUFFIX}; \ + if [ -z "${UPDATE}" -o ! -f $$t ]; then \ + echo $$t -\> $$l; \ + ln -sf $$l $$t; \ + fi; \ + done +.endif + +.if defined(CATPAGES) +.if ${MKCATPAGES} != "no" && ${MKMAN} != "no" +all: ${CATPAGES} +.else +all: +.endif + +cleanman: + rm -f ${CATPAGES} +.else +cleanman: +.endif + +# Make sure all of the standard targets are defined, even if they do nothing. +clean depend includes lint regress tags: |