]> CyberLeo.Net >> Repos - FreeBSD/releng/8.1.git/blob - share/mk/bsd.doc.mk
Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.
[FreeBSD/releng/8.1.git] / share / mk / bsd.doc.mk
1 #       from: @(#)bsd.doc.mk    5.3 (Berkeley) 1/2/91
2 # $FreeBSD$
3 #
4 # The include file <bsd.doc.mk> handles installing BSD troff documents.
5 #
6 #
7 # +++ variables +++
8 #
9 # DCOMPRESS_CMD Program to compress troff documents.  Output is to stdout.
10 #               [${COMPRESS_CMD}]
11 #
12 # DESTDIR       Change the tree where the documents get installed.  [not set]
13 #
14 # DOC           Document name.  [paper]
15 #
16 # EXTRA         Extra files (not SRCS) that make up the document.  [not set]
17 #
18 # LPR           Printer command.  [lpr]
19 #
20 # MACROS        Macro packages used to build the document.  [not set]
21 #
22 # NO_DOCCOMPRESS If you do not want formatted troff documents to be
23 #               compressed when they are installed.  [not set]
24 #
25 # PRINTERDEVICE Indicates which output formats will be generated
26 #               (ascii, ps, html).  [ascii]
27 #
28 # SRCDIR        Directory where source files live.  [${.CURDIR}]
29 #
30 # SRCS          List of source files.  [not set]
31 #
32 # TRFLAGS       Additional flags to groff(1).  [not set]
33 #
34 # USE_EQN       If set, preprocess with eqn(1).  [not set]
35 #
36 # USE_PIC       If set, preprocess with pic(1).  [not set]
37 #
38 # USE_REFER     If set, preprocess with refer(1).  [not set]
39 #
40 # USE_SOELIM    If set, preprocess with soelim(1).  [not set]
41 #
42 # USE_TBL       If set, preprocess with tbl(1).  [not set]
43 #
44 # VOLUME        Volume the document belongs to.  [not set]
45
46 .include <bsd.init.mk>
47
48 PRINTERDEVICE?= ascii
49
50 BIB?=           bib
51 GREMLIN?=       grn
52 GRIND?=         vgrind -f
53 INDXBIB?=       indxbib
54 PIC?=           pic
55 REFER?=         refer
56 .for _dev in ${PRINTERDEVICE:Mascii}
57 ROFF.ascii?=    groff -Tascii ${TRFLAGS} -mtty-char ${MACROS} -o${PAGES}
58 .endfor
59 .for _dev in ${PRINTERDEVICE:Nascii}
60 ROFF.${_dev}?=  groff -T${_dev} ${TRFLAGS} ${MACROS} -o${PAGES}
61 .endfor
62 SOELIM?=        soelim
63 TBL?=           tbl
64
65 DOC?=           paper
66 LPR?=           lpr
67
68 .if defined(USE_EQN)
69 TRFLAGS+=       -e
70 .endif
71 .if defined(USE_PIC)
72 TRFLAGS+=       -p
73 .endif
74 .if defined(USE_REFER)
75 TRFLAGS+=       -R
76 .endif
77 .if defined(USE_SOELIM)
78 TRFLAGS+=       -I${SRCDIR}
79 .endif
80 .if defined(USE_TBL)
81 TRFLAGS+=       -t
82 .endif
83
84 DCOMPRESS_EXT?= ${COMPRESS_EXT}
85 DCOMPRESS_CMD?= ${COMPRESS_CMD}
86 .for _dev in ${PRINTERDEVICE:Mhtml}
87 DFILE.html=     ${DOC}.html
88 .endfor
89 .for _dev in ${PRINTERDEVICE:Nhtml}
90 .if defined(NO_DOCCOMPRESS)
91 DFILE.${_dev}=  ${DOC}.${_dev}
92 .else
93 DFILE.${_dev}=  ${DOC}.${_dev}${DCOMPRESS_EXT}
94 .endif
95 .endfor
96
97 PAGES?=         1-
98
99 UNROFF?=        unroff
100 HTML_SPLIT?=    yes
101 UNROFFFLAGS?=   -fhtml
102 .if ${HTML_SPLIT} == "yes"
103 UNROFFFLAGS+=   split=1
104 .endif
105
106 # Compatibility mode flag for groff.  Use this when formatting documents with
107 # Berkeley me macros (orig_me(7)).
108 COMPAT?=        -C
109
110 .PATH: ${.CURDIR} ${SRCDIR}
111
112 .for _dev in ${PRINTERDEVICE}
113 all: ${DFILE.${_dev}}
114 .endfor
115
116 .if !target(print)
117 .for _dev in ${PRINTERDEVICE}
118 print: ${DFILE.${_dev}}
119 .endfor
120 print:
121 .for _dev in ${PRINTERDEVICE}
122 .if defined(NO_DOCCOMPRESS)
123         ${LPR} ${DFILE.${_dev}}
124 .else
125         ${DCOMPRESS_CMD} -d ${DFILE.${_dev}} | ${LPR}
126 .endif
127 .endfor
128 .endif
129
130 .for _dev in ${PRINTERDEVICE:Nascii:Nps:Nhtml}
131 CLEANFILES+=    ${DOC}.${_dev} ${DOC}.${_dev}${DCOMPRESS_EXT}
132 .endfor
133 CLEANFILES+=    ${DOC}.ascii ${DOC}.ascii${DCOMPRESS_EXT} \
134                 ${DOC}.ps ${DOC}.ps${DCOMPRESS_EXT} \
135                 ${DOC}.html ${DOC}-*.html
136
137 realinstall:
138 .for _dev in ${PRINTERDEVICE:Mhtml}
139         cd ${SRCDIR}; \
140             ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
141             ${DOC}*.html ${DESTDIR}${BINDIR}/${VOLUME}
142 .endfor
143 .for _dev in ${PRINTERDEVICE:Nhtml}
144         ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
145             ${DFILE.${_dev}} ${DESTDIR}${BINDIR}/${VOLUME}
146 .endfor
147
148 spell: ${SRCS}
149         (cd ${.CURDIR}; spell ${SRCS} ) | sort | \
150                 comm -23 - ${.CURDIR}/spell.ok > ${DOC}.spell
151
152 BINDIR?=        /usr/share/doc
153 BINMODE=        444
154
155 SRCDIR?=        ${.CURDIR}
156
157 .if defined(EXTRA) && !empty(EXTRA)
158 _stamp.extra: ${EXTRA}
159         touch ${.TARGET}
160 .endif
161
162 CLEANFILES+=    _stamp.extra
163 .for _dev in ${PRINTERDEVICE:Nhtml}
164 .if !target(${DFILE.${_dev}})
165 .if target(_stamp.extra)
166 ${DFILE.${_dev}}: _stamp.extra
167 .endif
168 ${DFILE.${_dev}}: ${SRCS}
169 .if defined(NO_DOCCOMPRESS)
170         ${ROFF.${_dev}} ${.ALLSRC:N_stamp.extra} > ${.TARGET}
171 .else
172         ${ROFF.${_dev}} ${.ALLSRC:N_stamp.extra} | ${DCOMPRESS_CMD} > ${.TARGET}
173 .endif
174 .endif
175 .endfor
176
177 .for _dev in ${PRINTERDEVICE:Mhtml}
178 .if !target(${DFILE.html})
179 .if target(_stamp.extra)
180 ${DFILE.html}: _stamp.extra
181 .endif
182 ${DFILE.html}: ${SRCS}
183 .if defined(MACROS) && !empty(MACROS)
184         cd ${SRCDIR}; ${UNROFF} ${MACROS} ${UNROFFFLAGS} \
185             document=${DOC} ${SRCS}
186 .else # unroff(1) requires a macro package as an argument
187         cd ${SRCDIR}; ${UNROFF} -ms ${UNROFFFLAGS} \
188             document=${DOC} ${SRCS}
189 .else
190 .endif
191 .endif
192 .endfor
193
194 DISTRIBUTION?=  doc
195
196 .include <bsd.obj.mk>