11844Swollman#	from: @(#)bsd.doc.mk	5.3 (Berkeley) 1/2/91
250476Speter# $FreeBSD$
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}
57222647SruROFF.ascii?=	groff -Tascii -P-c ${TRFLAGS} -mtty-char ${MACROS} ${PAGES:C/^/-o/1}
58106151Sru.endfor
59106151Sru.for _dev in ${PRINTERDEVICE:Nascii}
60222647SruROFF.${_dev}?=	groff -T${_dev} ${TRFLAGS} ${MACROS} ${PAGES:C/^/-o/1}
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
9722621SwoschUNROFF?=	unroff
9822621SwoschHTML_SPLIT?=	yes
9922811SwoschUNROFFFLAGS?=	-fhtml
10022621Swosch.if ${HTML_SPLIT} == "yes"
10122621SwoschUNROFFFLAGS+=	split=1
10222621Swosch.endif
10322621Swosch
1041844Swollman# Compatibility mode flag for groff.  Use this when formatting documents with
105106143Sru# Berkeley me macros (orig_me(7)).
1061844SwollmanCOMPAT?=	-C
1071844Swollman
1085479Swollman.PATH: ${.CURDIR} ${SRCDIR}
1091638Srgrimes
110106151Sru.for _dev in ${PRINTERDEVICE}
111106151Sruall: ${DFILE.${_dev}}
112106151Sru.endfor
1131638Srgrimes
1141638Srgrimes.if !target(print)
115106151Sru.for _dev in ${PRINTERDEVICE}
116106151Sruprint: ${DFILE.${_dev}}
117106151Sru.endfor
118106151Sruprint:
119106151Sru.for _dev in ${PRINTERDEVICE}
120139106Sru.if defined(NO_DOCCOMPRESS)
121106151Sru	${LPR} ${DFILE.${_dev}}
1229725Swollman.else
123106151Sru	${DCOMPRESS_CMD} -d ${DFILE.${_dev}} | ${LPR}
1241638Srgrimes.endif
125106151Sru.endfor
1269725Swollman.endif
1271638Srgrimes
128106151Sru.for _dev in ${PRINTERDEVICE:Nascii:Nps:Nhtml}
129106151SruCLEANFILES+=	${DOC}.${_dev} ${DOC}.${_dev}${DCOMPRESS_EXT}
130106151Sru.endfor
13133801SbdeCLEANFILES+=	${DOC}.ascii ${DOC}.ascii${DCOMPRESS_EXT} \
13223546Swosch		${DOC}.ps ${DOC}.ps${DCOMPRESS_EXT} \
13322621Swosch		${DOC}.html ${DOC}-*.html
1341638Srgrimes
1355486Swollmanrealinstall:
136106151Sru.for _dev in ${PRINTERDEVICE:Mhtml}
13730888Swosch	cd ${SRCDIR}; \
138106143Sru	    ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
139106143Sru	    ${DOC}*.html ${DESTDIR}${BINDIR}/${VOLUME}
140106151Sru.endfor
141106151Sru.for _dev in ${PRINTERDEVICE:Nhtml}
142100872Sru	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
143106151Sru	    ${DFILE.${_dev}} ${DESTDIR}${BINDIR}/${VOLUME}
144106151Sru.endfor
1451638Srgrimes
1461638Srgrimesspell: ${SRCS}
147106143Sru	(cd ${.CURDIR}; spell ${SRCS} ) | sort | \
1481844Swollman		comm -23 - ${.CURDIR}/spell.ok > ${DOC}.spell
1491638Srgrimes
1501638SrgrimesBINDIR?=	/usr/share/doc
151106143SruBINMODE=	444
1525479Swollman
1535479SwollmanSRCDIR?=	${.CURDIR}
1545479Swollman
155106143Sru.if defined(EXTRA) && !empty(EXTRA)
156106143Sru_stamp.extra: ${EXTRA}
15738014Sbde	touch ${.TARGET}
158106151Sru.endif
159106151Sru
160106143SruCLEANFILES+=	_stamp.extra
161106151Sru.for _dev in ${PRINTERDEVICE:Nhtml}
162106151Sru.if !target(${DFILE.${_dev}})
163106151Sru.if target(_stamp.extra)
164106151Sru${DFILE.${_dev}}: _stamp.extra
165106143Sru.endif
166106151Sru${DFILE.${_dev}}: ${SRCS}
167139106Sru.if defined(NO_DOCCOMPRESS)
168106151Sru	${ROFF.${_dev}} ${.ALLSRC:N_stamp.extra} > ${.TARGET}
169106143Sru.else
170106151Sru	${ROFF.${_dev}} ${.ALLSRC:N_stamp.extra} | ${DCOMPRESS_CMD} > ${.TARGET}
17112526Sbde.endif
1725479Swollman.endif
173106151Sru.endfor
1745479Swollman
175106151Sru.for _dev in ${PRINTERDEVICE:Mhtml}
176106151Sru.if !target(${DFILE.html})
177106151Sru.if target(_stamp.extra)
178106151Sru${DFILE.html}: _stamp.extra
179106151Sru.endif
180106151Sru${DFILE.html}: ${SRCS}
181106151Sru.if defined(MACROS) && !empty(MACROS)
182106151Sru	cd ${SRCDIR}; ${UNROFF} ${MACROS} ${UNROFFFLAGS} \
183106151Sru	    document=${DOC} ${SRCS}
184106151Sru.else # unroff(1) requires a macro package as an argument
185106151Sru	cd ${SRCDIR}; ${UNROFF} -ms ${UNROFFFLAGS} \
186106151Sru	    document=${DOC} ${SRCS}
187106151Sru.else
188106151Sru.endif
189106151Sru.endif
190106151Sru.endfor
191106151Sru
19295368SruDISTRIBUTION?=	doc
19395368Sru
19416663Sjkh.include <bsd.obj.mk>
195