9ad44ce879
in a single directory. This is useful in "make build" because by doing the build immediately after the depend, all sources will typically still be in the buffer cache, thus saving significant time over doing a "make depend" on all the directories and then a "make all".
166 lines
4.2 KiB
Makefile
166 lines
4.2 KiB
Makefile
# $NetBSD: bsd.man.mk,v 1.49 1999/09/14 01:31:11 perry 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>
|
|
.include <bsd.depall.mk>
|
|
.MAIN: all
|
|
.endif
|
|
|
|
.PHONY: catinstall maninstall catpages manpages catlinks manlinks cleanman
|
|
.if ${MKMAN} != "no"
|
|
realinstall: ${MANINSTALL}
|
|
.endif
|
|
cleandir distclean: cleanman
|
|
|
|
TMACDIR?= ${DESTDIR}/usr/share/tmac
|
|
CATDEPS?= ${TMACDIR}/tmac.andoc \
|
|
${TMACDIR}/tmac.doc \
|
|
${TMACDIR}/tmac.doc-ditroff \
|
|
${TMACDIR}/tmac.doc-common \
|
|
${TMACDIR}/tmac.doc-nroff \
|
|
${TMACDIR}/tmac.doc-syms
|
|
MANTARGET?= cat
|
|
NROFF?= nroff -Tascii
|
|
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: \
|
|
${CATDEPS}
|
|
.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} ${INSTPRIV} \
|
|
-o ${MANOWN} -g ${MANGRP} -m ${MANMODE}
|
|
|
|
.if defined(MANZ)
|
|
# chown and chmod are done afterward automatically
|
|
MCOMPRESS= gzip -cf
|
|
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) && !make(all) && !make(${P})
|
|
${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 -f $$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 -f $$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:
|