Home | History | Annotate | Line # | Download | only in mk
bsd.man.mk revision 1.43
      1 #	$NetBSD: bsd.man.mk,v 1.43 1999/02/12 01:10:07 lukem Exp $
      2 #	@(#)bsd.man.mk	8.1 (Berkeley) 6/8/93
      3 
      4 .if !target(__initialized__)
      5 __initialized__:
      6 .if exists(${.CURDIR}/../Makefile.inc)
      7 .include "${.CURDIR}/../Makefile.inc"
      8 .endif
      9 .include <bsd.own.mk>
     10 .include <bsd.obj.mk>
     11 .MAIN:		all
     12 .endif
     13 
     14 .PHONY:		catinstall maninstall catpages manpages catlinks manlinks cleanman
     15 .if ${MKMAN} != "no" && ${MKSHARE} != "no"
     16 realinstall:	${MANINSTALL}
     17 .endif
     18 cleandir distclean: cleanman
     19 
     20 TMACDIR?=	${DESTDIR}/usr/share/tmac
     21 CATDEPS?=	${TMACDIR}/tmac.andoc \
     22 		${TMACDIR}/tmac.doc \
     23 		${TMACDIR}/tmac.doc-ditroff \
     24 		${TMACDIR}/tmac.doc-common \
     25 		${TMACDIR}/tmac.doc-nroff \
     26 		${TMACDIR}/tmac.doc-syms
     27 MANTARGET?=	cat
     28 NROFF?=		nroff
     29 TBL?=		tbl
     30 
     31 .SUFFIXES: .1 .2 .3 .4 .5 .6 .7 .8 .9 \
     32 	   .cat1 .cat2 .cat3 .cat4 .cat5 .cat6 .cat7 .cat8 .cat9
     33 
     34 .9.cat9 .8.cat8 .7.cat7 .6.cat6 .5.cat5 .4.cat4 .3.cat3 .2.cat2 .1.cat1: \
     35     ${CATDEPS}
     36 .if !defined(USETBL)
     37 	@echo "${NROFF} -mandoc ${.IMPSRC} > ${.TARGET}"
     38 	@${NROFF} -mandoc ${.IMPSRC} > ${.TARGET} || \
     39 	 (rm -f ${.TARGET}; false)
     40 .else
     41 	@echo "${TBL} ${.IMPSRC} | ${NROFF} -mandoc > ${.TARGET}"
     42 	@${TBL} ${.IMPSRC} | ${NROFF} -mandoc > ${.TARGET} || \
     43 	 (rm -f ${.TARGET}; false)
     44 .endif
     45 
     46 .if defined(MAN) && !empty(MAN)
     47 MANPAGES=	${MAN}
     48 CATPAGES=	${MANPAGES:C/(.*).([1-9])/\1.cat\2/}
     49 .endif
     50 
     51 MINSTALL=	${INSTALL} ${RENAME} ${PRESERVE} ${COPY} -o ${MANOWN} \
     52 			-g ${MANGRP} -m ${MANMODE}
     53 
     54 .if defined(MANZ)
     55 # chown and chmod are done afterward automatically
     56 MCOMPRESS=	gzip -cf
     57 MCOMPRESSSUFFIX= .gz
     58 .endif
     59 
     60 catinstall: catlinks
     61 maninstall: manlinks
     62 
     63 __installpage: .USE
     64 .if defined(MCOMPRESS) && !empty(MCOMPRESS)
     65 	@rm -f ${.TARGET}
     66 	${MCOMPRESS} ${.ALLSRC} > ${.TARGET}
     67 	@chown ${MANOWN}:${MANGRP} ${.TARGET}
     68 	@chmod ${MANMODE} ${.TARGET}
     69 .else
     70 	${MINSTALL} ${.ALLSRC} ${.TARGET}
     71 .endif
     72 
     73 
     74 # Rules for cat'ed man page installation
     75 .if defined(CATPAGES) && !empty(CATPAGES) && ${MKCATPAGES} != "no"
     76 .   for P in ${CATPAGES}
     77 catpages:: ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}
     78 
     79 .	if !defined(UPDATE)
     80 .PHONY: ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}
     81 .	endif
     82 .	if !defined(BUILD)
     83 ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}: .MADE
     84 .	endif
     85 
     86 .PRECIOUS: ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}
     87 ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}: ${P} __installpage
     88 .   endfor
     89 .else
     90 catpages::
     91 .endif
     92 
     93 # Rules for source page installation
     94 .if defined(MANPAGES) && !empty(MANPAGES)
     95 .   for P in ${MANPAGES}
     96 manpages:: ${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}
     97 .	if !defined(UPDATE)
     98 .PHONY: ${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}
     99 .	endif
    100 
    101 .PRECIOUS: ${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}
    102 ${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}: ${P} __installpage
    103 .   endfor
    104 .else
    105 manpages::
    106 .endif
    107 
    108 .if ${MKCATPAGES} != "no"
    109 catlinks: catpages
    110 .if defined(MLINKS) && !empty(MLINKS)
    111 	@set ${MLINKS}; \
    112 	while test $$# -ge 2; do \
    113 		name=$$1; \
    114 		shift; \
    115 		dir=${DESTDIR}${MANDIR}/cat$${name##*.}; \
    116 		l=$${dir}${MANSUBDIR}/$${name%.*}.0${MCOMPRESSSUFFIX}; \
    117 		name=$$1; \
    118 		shift; \
    119 		dir=${DESTDIR}${MANDIR}/cat$${name##*.}; \
    120 		t=$${dir}${MANSUBDIR}/$${name%.*}.0${MCOMPRESSSUFFIX}; \
    121 		if [ -z "${UPDATE}" -o ! -f $$t ]; then \
    122 		    echo $$t -\> $$l; \
    123 		    ln -f $$l $$t; \
    124 		fi; \
    125 	done
    126 .endif
    127 .else
    128 catlinks:
    129 .endif
    130 
    131 manlinks: manpages
    132 .if defined(MLINKS) && !empty(MLINKS)
    133 	@set ${MLINKS}; \
    134 	while test $$# -ge 2; do \
    135 		name=$$1; \
    136 		shift; \
    137 		dir=${DESTDIR}${MANDIR}/man$${name##*.}; \
    138 		l=$${dir}${MANSUBDIR}/$${name}${MCOMPRESSSUFFIX}; \
    139 		name=$$1; \
    140 		shift; \
    141 		dir=${DESTDIR}${MANDIR}/man$${name##*.}; \
    142 		t=$${dir}${MANSUBDIR}/$${name}${MCOMPRESSSUFFIX}; \
    143 		if [ -z "${UPDATE}" -o ! -f $$t ]; then \
    144 		    echo $$t -\> $$l; \
    145 		    ln -f $$l $$t; \
    146 		fi; \
    147 	done
    148 .endif
    149 
    150 .if defined(CATPAGES)
    151 .if ${MKMAN} != "no" && ${MKSHARE} != "no" && ${MKCATPAGES} != "no"
    152 all: ${CATPAGES}
    153 .else
    154 all:
    155 .endif
    156 
    157 cleanman:
    158 	rm -f ${CATPAGES}
    159 .else
    160 cleanman:
    161 .endif
    162 
    163 # Make sure all of the standard targets are defined, even if they do nothing.
    164 clean depend includes lint regress tags:
    165