bsd.doc.mk revision 139106
11844Swollman#	from: @(#)bsd.doc.mk	5.3 (Berkeley) 1/2/91
250476Speter# $FreeBSD: head/share/mk/bsd.doc.mk 139106 2004-12-21 09:33:47Z ru $
325710Swosch#
425710Swosch# The include file <bsd.doc.mk> handles installing BSD troff documents.
525710Swosch#
625710Swosch#
725710Swosch# +++ variables +++
825710Swosch#
9106211Sru# DCOMPRESS_CMD	Program to compress troff documents.  Output is to stdout.
10106211Sru#		[${COMPRESS_CMD}]
1125710Swosch#
12106211Sru# DESTDIR	Change the tree where the documents get installed.  [not set]
1325710Swosch#
14106211Sru# DOC		Document name.  [paper]
1525710Swosch#
16106211Sru# EXTRA		Extra files (not SRCS) that make up the document.  [not set]
17106211Sru#
18106211Sru# LPR		Printer command.  [lpr]
19106211Sru#
20106211Sru# MACROS	Macro packages used to build the document.  [not set]
21106211Sru#
22139106Sru# NO_DOCCOMPRESS If you do not want formatted troff documents to be
23106211Sru#		compressed when they are installed.  [not set]
24106211Sru#
25106211Sru# PRINTERDEVICE	Indicates which output formats will be generated
26106211Sru#		(ascii, ps, html).  [ascii]
27106211Sru#
28106211Sru# SRCDIR	Directory where source files live.  [${.CURDIR}]
29106211Sru#
30106211Sru# SRCS		List of source files.  [not set]
31106211Sru#
32106211Sru# TRFLAGS	Additional flags to groff(1).  [not set]
33106211Sru#
34106211Sru# USE_EQN	If set, preprocess with eqn(1).  [not set]
35106211Sru#
36106211Sru# USE_PIC	If set, preprocess with pic(1).  [not set]
37106211Sru#
38106211Sru# USE_REFER	If set, preprocess with refer(1).  [not set]
39106211Sru#
40106211Sru# USE_SOELIM	If set, preprocess with soelim(1).  [not set]
41106211Sru#
42106211Sru# USE_TBL	If set, preprocess with tbl(1).  [not set]
43106211Sru#
44106211Sru# VOLUME	Volume the document belongs to.  [not set]
451638Srgrimes
4694940Sru.include <bsd.init.mk>
4730896Swosch
4820697SmppPRINTERDEVICE?=	ascii
491844Swollman
501638SrgrimesBIB?=		bib
511638SrgrimesGREMLIN?=	grn
521638SrgrimesGRIND?=		vgrind -f
531638SrgrimesINDXBIB?=	indxbib
541638SrgrimesPIC?=		pic
551638SrgrimesREFER?=		refer
56106151Sru.for _dev in ${PRINTERDEVICE:Mascii}
57106151SruROFF.ascii?=	groff -Tascii ${TRFLAGS} -mtty-char ${MACROS} -o${PAGES}
58106151Sru.endfor
59106151Sru.for _dev in ${PRINTERDEVICE:Nascii}
60106151SruROFF.${_dev}?=	groff -T${_dev} ${TRFLAGS} ${MACROS} -o${PAGES}
61106151Sru.endfor
621638SrgrimesSOELIM?=	soelim
631638SrgrimesTBL?=		tbl
641638Srgrimes
655479SwollmanDOC?=		paper
6625710SwoschLPR?=		lpr
675479Swollman
685479Swollman.if defined(USE_EQN)
695479SwollmanTRFLAGS+=	-e
705479Swollman.endif
715479Swollman.if defined(USE_PIC)
725479SwollmanTRFLAGS+=	-p
735479Swollman.endif
745479Swollman.if defined(USE_REFER)
7524601SmppTRFLAGS+=	-R
765479Swollman.endif
77106143Sru.if defined(USE_SOELIM)
78106143SruTRFLAGS+=	-I${SRCDIR}
79106143Sru.endif
80106143Sru.if defined(USE_TBL)
81106143SruTRFLAGS+=	-t
82106143Sru.endif
835479Swollman
8423546SwoschDCOMPRESS_EXT?=	${COMPRESS_EXT}
85106151SruDCOMPRESS_CMD?=	${COMPRESS_CMD}
86106151Sru.for _dev in ${PRINTERDEVICE:Mhtml}
87106151SruDFILE.html=	${DOC}.html
88106151Sru.endfor
89106151Sru.for _dev in ${PRINTERDEVICE:Nhtml}
90139106Sru.if defined(NO_DOCCOMPRESS)
91106151SruDFILE.${_dev}=	${DOC}.${_dev}
929725Swollman.else
93106151SruDFILE.${_dev}=	${DOC}.${_dev}${DCOMPRESS_EXT}
949725Swollman.endif
95106151Sru.endfor
969725Swollman
971844SwollmanPAGES?=		1-
981844Swollman
9922621SwoschUNROFF?=	unroff
10022621SwoschHTML_SPLIT?=	yes
10122811SwoschUNROFFFLAGS?=	-fhtml
10222621Swosch.if ${HTML_SPLIT} == "yes"
10322621SwoschUNROFFFLAGS+=	split=1
10422621Swosch.endif
10522621Swosch
1061844Swollman# Compatibility mode flag for groff.  Use this when formatting documents with
107106143Sru# Berkeley me macros (orig_me(7)).
1081844SwollmanCOMPAT?=	-C
1091844Swollman
1105479Swollman.PATH: ${.CURDIR} ${SRCDIR}
1111638Srgrimes
112106151Sru.for _dev in ${PRINTERDEVICE}
113106151Sruall: ${DFILE.${_dev}}
114106151Sru.endfor
1151638Srgrimes
1161638Srgrimes.if !target(print)
117106151Sru.for _dev in ${PRINTERDEVICE}
118106151Sruprint: ${DFILE.${_dev}}
119106151Sru.endfor
120106151Sruprint:
121106151Sru.for _dev in ${PRINTERDEVICE}
122139106Sru.if defined(NO_DOCCOMPRESS)
123106151Sru	${LPR} ${DFILE.${_dev}}
1249725Swollman.else
125106151Sru	${DCOMPRESS_CMD} -d ${DFILE.${_dev}} | ${LPR}
1261638Srgrimes.endif
127106151Sru.endfor
1289725Swollman.endif
1291638Srgrimes
130106151Sru.for _dev in ${PRINTERDEVICE:Nascii:Nps:Nhtml}
131106151SruCLEANFILES+=	${DOC}.${_dev} ${DOC}.${_dev}${DCOMPRESS_EXT}
132106151Sru.endfor
13333801SbdeCLEANFILES+=	${DOC}.ascii ${DOC}.ascii${DCOMPRESS_EXT} \
13423546Swosch		${DOC}.ps ${DOC}.ps${DCOMPRESS_EXT} \
13522621Swosch		${DOC}.html ${DOC}-*.html
1361638Srgrimes
1375486Swollmanrealinstall:
138106151Sru.for _dev in ${PRINTERDEVICE:Mhtml}
13930888Swosch	cd ${SRCDIR}; \
140106143Sru	    ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
141106143Sru	    ${DOC}*.html ${DESTDIR}${BINDIR}/${VOLUME}
142106151Sru.endfor
143106151Sru.for _dev in ${PRINTERDEVICE:Nhtml}
144100872Sru	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
145106151Sru	    ${DFILE.${_dev}} ${DESTDIR}${BINDIR}/${VOLUME}
146106151Sru.endfor
1471638Srgrimes
1481638Srgrimesspell: ${SRCS}
149106143Sru	(cd ${.CURDIR}; spell ${SRCS} ) | sort | \
1501844Swollman		comm -23 - ${.CURDIR}/spell.ok > ${DOC}.spell
1511638Srgrimes
1521638SrgrimesBINDIR?=	/usr/share/doc
153106143SruBINMODE=	444
1545479Swollman
1555479SwollmanSRCDIR?=	${.CURDIR}
1565479Swollman
157106143Sru.if defined(EXTRA) && !empty(EXTRA)
158106143Sru_stamp.extra: ${EXTRA}
15938014Sbde	touch ${.TARGET}
160106151Sru.endif
161106151Sru
162106143SruCLEANFILES+=	_stamp.extra
163106151Sru.for _dev in ${PRINTERDEVICE:Nhtml}
164106151Sru.if !target(${DFILE.${_dev}})
165106151Sru.if target(_stamp.extra)
166106151Sru${DFILE.${_dev}}: _stamp.extra
167106143Sru.endif
168106151Sru${DFILE.${_dev}}: ${SRCS}
169139106Sru.if defined(NO_DOCCOMPRESS)
170106151Sru	${ROFF.${_dev}} ${.ALLSRC:N_stamp.extra} > ${.TARGET}
171106143Sru.else
172106151Sru	${ROFF.${_dev}} ${.ALLSRC:N_stamp.extra} | ${DCOMPRESS_CMD} > ${.TARGET}
17312526Sbde.endif
1745479Swollman.endif
175106151Sru.endfor
1765479Swollman
177106151Sru.for _dev in ${PRINTERDEVICE:Mhtml}
178106151Sru.if !target(${DFILE.html})
179106151Sru.if target(_stamp.extra)
180106151Sru${DFILE.html}: _stamp.extra
181106151Sru.endif
182106151Sru${DFILE.html}: ${SRCS}
183106151Sru.if defined(MACROS) && !empty(MACROS)
184106151Sru	cd ${SRCDIR}; ${UNROFF} ${MACROS} ${UNROFFFLAGS} \
185106151Sru	    document=${DOC} ${SRCS}
186106151Sru.else # unroff(1) requires a macro package as an argument
187106151Sru	cd ${SRCDIR}; ${UNROFF} -ms ${UNROFFFLAGS} \
188106151Sru	    document=${DOC} ${SRCS}
189106151Sru.else
190106151Sru.endif
191106151Sru.endif
192106151Sru.endfor
193106151Sru
19495368SruDISTRIBUTION?=	doc
19595368Sru
19616663Sjkh.include <bsd.obj.mk>
197