bsd.man.mk revision 1.27 1 # $NetBSD: bsd.man.mk,v 1.27 1997/04/15 16:57:46 perry Exp $
2 # @(#)bsd.man.mk 8.1 (Berkeley) 6/8/93
3
4 MANTARGET?= cat
5 NROFF?= nroff
6
7 .if !target(.MAIN)
8 .if exists(${.CURDIR}/../Makefile.inc)
9 .include "${.CURDIR}/../Makefile.inc"
10 .endif
11
12 .MAIN: all
13 .endif
14
15 .SUFFIXES: .1 .2 .3 .4 .5 .6 .7 .8 .9 \
16 .cat1 .cat2 .cat3 .cat4 .cat5 .cat6 .cat7 .cat8 .cat9
17
18 .9.cat9 .8.cat8 .7.cat7 .6.cat6 .5.cat5 .4.cat4 .3.cat3 .2.cat2 .1.cat1:
19 @echo "${NROFF} -mandoc ${.IMPSRC} > ${.TARGET}"
20 @${NROFF} -mandoc ${.IMPSRC} > ${.TARGET} || \
21 (rm -f ${.TARGET}; false)
22
23 .if defined(MAN) && !empty(MAN)
24 MANPAGES= ${MAN}
25 CATPAGES= ${MANPAGES:C/(.*).([1-9])/\1.cat\2/}
26 .endif
27
28 MINSTALL= ${INSTALL} ${COPY} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE}
29
30 .if defined(MANZ)
31 # chown and chmod are done afterward automatically
32 MCOMPRESS= gzip -cf
33 MCOMPRESSSUFFIX= .gz
34 .endif
35
36 catinstall: catlinks
37 maninstall: manlinks
38
39 __installpage: .USE
40 .if defined(MCOMPRESS) && !empty(MCOMPRESS)
41 @rm -f ${.TARGET}
42 ${MCOMPRESS} ${.ALLSRC} > ${.TARGET}
43 @chown ${MANOWN}:${MANGRP} ${.TARGET}
44 @chmod ${MANMODE} ${.TARGET}
45 .else
46 ${MINSTALL} ${.ALLSRC} ${.TARGET}
47 .endif
48
49
50 # Rules for source page installation
51 .if defined(MANPAGES) && !empty(MANPAGES)
52 . for P in ${MANPAGES}
53 manpages:: ${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}
54 . if !defined(UPDATE)
55 .PHONY: ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}
56 . endif
57
58 ${DESTDIR}${MANDIR}/man${P:T:E}${MANSUBDIR}/${P}${MCOMPRESSSUFFIX}: ${P} __installpage
59 . endfor
60 .else
61 manpages::
62 .endif
63
64 # Rules for cat'ed man page installation
65 .if defined(CATPAGES) && !empty(CATPAGES)
66 . for P in ${CATPAGES}
67 catpages:: ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}
68
69 . if !defined(UPDATE)
70 .PHONY: ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}
71 . endif
72 . if !defined(BUILD)
73 ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}: .MADE
74 . endif
75
76 ${DESTDIR}${MANDIR}/${P:T:E}${MANSUBDIR}/${P:T:R}.0${MCOMPRESSSUFFIX}: ${P} __installpage
77 . endfor
78 .else
79 catpages::
80 .endif
81
82 catlinks: catpages
83 .if defined(MLINKS) && !empty(MLINKS)
84 @set ${MLINKS}; \
85 while test $$# -ge 2; do \
86 name=$$1; \
87 shift; \
88 dir=${DESTDIR}${MANDIR}/cat$${name##*.}; \
89 l=$${dir}${MANSUBDIR}/$${name%.*}.0${MCOMPRESSSUFFIX}; \
90 name=$$1; \
91 shift; \
92 dir=${DESTDIR}${MANDIR}/cat$${name##*.}; \
93 t=$${dir}${MANSUBDIR}/$${name%.*}.0${MCOMPRESSSUFFIX}; \
94 if [ ! -f $$t -o -z "${UPDATE}" ]; then \
95 echo $$t -\> $$l; \
96 rm -f $$t; \
97 ln $$l $$t; \
98 fi; \
99 done
100 .endif
101
102 manlinks: manpages
103 .if defined(MLINKS) && !empty(MLINKS)
104 @set ${MLINKS}; \
105 while test $$# -ge 2; do \
106 name=$$1; \
107 shift; \
108 dir=${DESTDIR}${MANDIR}/man$${name##*.}; \
109 l=$${dir}${MANSUBDIR}/$${name}${MCOMPRESSSUFFIX}; \
110 name=$$1; \
111 shift; \
112 dir=${DESTDIR}${MANDIR}/man$${name##*.}; \
113 t=$${dir}${MANSUBDIR}/$${name}${MCOMPRESSSUFFIX}; \
114 if [ ! -f $$t -o -z "${UPDATE}" ]; then \
115 echo $$t -\> $$l; \
116 rm -f $$t; \
117 ln $$l $$t; \
118 fi; \
119 done
120 .endif
121 .if defined(CATPAGES)
122 all: ${CATPAGES}
123
124 cleandir: cleanman
125 cleanman:
126 rm -f ${CATPAGES}
127 .endif
128