Merge branch 'vendor/GCC50'
[dragonfly.git] / share / mk / bsd.doc.mk
1 #       from: @(#)bsd.doc.mk    5.3 (Berkeley) 1/2/91
2 # $FreeBSD: src/share/mk/bsd.doc.mk,v 1.47.2.5 2002/08/07 16:31:50 ru Exp $
3 #
4 # The include file <bsd.doc.mk> handles installing BSD troff documents.
5 #
6 #
7 # +++ variables +++
8 #
9 # LPR           Printer command. [lpr]
10 #
11 #       [incomplete]
12 #
13 # +++ targets +++
14 #
15 #       [incomplete]
16
17 .include <bsd.init.mk>
18
19 PRINTERDEVICE?= ascii
20
21 BIB?=           bib
22 EQN?=           eqn -T${PRINTERDEVICE}
23 GREMLIN?=       grn
24 GRIND?=         vgrind -f
25 INDXBIB?=       indxbib
26 PIC?=           pic
27 REFER?=         refer
28 .if ${PRINTERDEVICE} == "ascii"
29 ROFF?=          groff -mtty-char ${TRFLAGS} ${MACROS} -o${PAGES}
30 .else
31 ROFF?=          groff ${TRFLAGS} ${MACROS} -o${PAGES}
32 .endif
33 SOELIM?=        soelim
34 SOELIMPP=       sed ${SOELIMPPARGS}
35 SOELIMPPARGS0=  ${SRCS} ${EXTRA}
36 SOELIMPPARGS1=  ${SOELIMPPARGS0:S/^/-e\\ \'s:\(\.so[\\ \\       ][\\ \\ ]*\)\(/}
37 SOELIMPPARGS2=  ${SOELIMPPARGS1:S/$/\)\$:\1${SRCDIR}\/\2:\'/}
38 SOELIMPPARGS=   ${SOELIMPPARGS2:S/\\'/'/g}
39 TBL?=           tbl
40
41 DOC?=           paper
42 LPR?=           lpr
43
44 TRFLAGS+=       -T${PRINTERDEVICE}
45 .if defined(USE_EQN)
46 TRFLAGS+=       -e
47 .endif
48 .if defined(USE_TBL)
49 TRFLAGS+=       -t
50 .endif
51 .if defined(USE_PIC)
52 TRFLAGS+=       -p
53 .endif
54 .if defined(USE_SOELIM)
55 TRFLAGS+=       -s
56 .endif
57 .if defined(USE_REFER)
58 TRFLAGS+=       -R
59 .endif
60
61 DCOMPRESS_EXT?= ${COMPRESS_EXT}
62 .if defined(NODOCCOMPRESS) || ${PRINTERDEVICE} == "html"
63 DFILE=  ${DOC}.${PRINTERDEVICE}
64 DCOMPRESS_CMD=  cat
65 .else
66 DFILE=  ${DOC}.${PRINTERDEVICE}${DCOMPRESS_EXT}
67 DCOMPRESS_CMD?= ${COMPRESS_CMD}
68 .endif
69
70 PAGES?=         1-
71
72 UNROFF?=        unroff
73 HTML_SPLIT?=    yes
74 UNROFFFLAGS?=   -fhtml
75 .if ${HTML_SPLIT} == "yes"
76 UNROFFFLAGS+=   split=1
77 .endif
78
79 # Compatibility mode flag for groff.  Use this when formatting documents with
80 # Berkeley me macros.
81 COMPAT?=        -C
82
83 _DOCINSTALLFLAGS:= ${DOCINSTALLFLAGS}
84
85 .PATH: ${.CURDIR} ${SRCDIR}
86
87 all:    ${DFILE}
88
89 .if !target(print)
90 print: ${DFILE}
91 .if defined(NODOCCOMPRESS)
92         ${LPR} ${DFILE}
93 .else
94         ${DCOMPRESS_CMD} -d ${DFILE} | ${LPR}
95 .endif
96 .endif
97
98 .if ${PRINTERDEVICE} != "ascii" && ${PRINTERDEVICE} != "ps"
99 CLEANFILES+=    ${DOC}.${PRINTERDEVICE} ${DOC}.${PRINTERDEVICE}${DCOMPRESS_EXT}
100 .endif
101 CLEANFILES+=    ${DOC}.ascii ${DOC}.ascii${DCOMPRESS_EXT} \
102                 ${DOC}.ps ${DOC}.ps${DCOMPRESS_EXT} \
103                 ${DOC}.html ${DOC}-*.html
104
105 realinstall:
106 .if ${PRINTERDEVICE} == "html"
107         cd ${SRCDIR}; \
108                 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
109                 ${_DOCINSTALLFLAGS} ${DOC}*.html ${DESTDIR}${BINDIR}/${VOLUME}
110 .else
111         ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
112                 ${_DOCINSTALLFLAGS} ${DFILE} ${DESTDIR}${BINDIR}/${VOLUME}
113 .endif
114
115 spell: ${SRCS}
116         (cd ${.CURDIR};  spell ${SRCS} ) | sort | \
117                 comm -23 - ${.CURDIR}/spell.ok > ${DOC}.spell
118
119 BINDIR?=        /usr/share/doc
120 BINMODE=        444
121
122 SRCDIR?=        ${.CURDIR}
123
124 .if !target(${DFILE})
125 _stamp.extraobjs: ${EXTRA} ${OBJS}
126         touch ${.TARGET}
127 CLEANFILES+=    _stamp.extraobjs
128 ${DFILE}: ${SRCS} _stamp.extraobjs
129 .if ${PRINTERDEVICE} == "html"
130         cd ${SRCDIR}; ${UNROFF} ${MACROS} ${UNROFFFLAGS} \
131             document=${DOC} ${SRCS}
132 .elif defined(USE_SOELIMPP)
133         ${SOELIMPP} ${.ALLSRC:N_stamp.extraobjs} | ${ROFF} | \
134             ${DCOMPRESS_CMD} > ${.TARGET}
135 .else
136         (cd ${SRCDIR}; ${ROFF} ${.ALLSRC:N_stamp.extraobjs}) | \
137             ${DCOMPRESS_CMD} > ${.TARGET}
138 .endif
139 .endif
140
141 .include <bsd.obj.mk>