bsd.doc.mk revision 50476
179455Sobrien#	from: @(#)bsd.doc.mk	5.3 (Berkeley) 1/2/91
279455Sobrien# $FreeBSD: head/share/mk/bsd.doc.mk 50476 1999-08-28 00:22:10Z peter $
379455Sobrien#
479455Sobrien# The include file <bsd.doc.mk> handles installing BSD troff documents.
579455Sobrien#
679455Sobrien#
779455Sobrien# +++ variables +++
879455Sobrien#
979455Sobrien# LPR		Printer command. [lpr]
1079455Sobrien#
1179455Sobrien# 	[incomplete]
1279455Sobrien#
1379455Sobrien# +++ targets +++
1479455Sobrien#
1579455Sobrien# 	[incomplete]
1679455Sobrien
1779455Sobrien.if !target(__initialized__)
1879455Sobrien__initialized__:
1979455Sobrien.if exists(${.CURDIR}/../Makefile.inc)
2079455Sobrien.include "${.CURDIR}/../Makefile.inc"
2179455Sobrien.endif
2279455Sobrien.endif
2379455Sobrien
2479455SobrienPRINTERDEVICE?=	ascii
2579455Sobrien
2679455SobrienBIB?=		bib
2779455SobrienEQN?=		eqn -T${PRINTERDEVICE}
2879455SobrienGREMLIN?=	grn
2979455SobrienGRIND?=		vgrind -f
3079455SobrienINDXBIB?=	indxbib
3179455SobrienPIC?=		pic
3279455SobrienREFER?=		refer
3379455Sobrien.if ${PRINTERDEVICE} == "ascii"
3479455SobrienROFF?=          groff -mtty-char ${TRFLAGS} ${MACROS} -o${PAGES}
3579455Sobrien.else
3679455SobrienROFF?=		groff ${TRFLAGS} ${MACROS} -o${PAGES}
3779455Sobrien.endif
3879455SobrienSOELIM?=	soelim
3979455SobrienSOELIMPP=	sed ${SOELIMPPARGS}
4079455SobrienSOELIMPPARGS0=	${SRCS} ${EXTRA}
4179455SobrienSOELIMPPARGS1=	${SOELIMPPARGS0:S/^/-e\\ \'s:\(\.so[\\ \\	][\\ \\	]*\)\(/}
4279455SobrienSOELIMPPARGS2=	${SOELIMPPARGS1:S/$/\)\$:\1${SRCDIR}\/\2:\'/}
4379455SobrienSOELIMPPARGS=	${SOELIMPPARGS2:S/\\'/'/g}
4479455SobrienTBL?=		tbl
4579455Sobrien
4679455SobrienDOC?=		paper
4779455SobrienLPR?=		lpr
4879455Sobrien
4979455SobrienTRFLAGS+=	-T${PRINTERDEVICE}
5079455Sobrien.if defined(USE_EQN)
5179455SobrienTRFLAGS+=	-e
5279455Sobrien.endif
5379455Sobrien.if defined(USE_TBL)
5479455SobrienTRFLAGS+=	-t
5579455Sobrien.endif
5679455Sobrien.if defined(USE_PIC)
5779455SobrienTRFLAGS+=	-p
5879455Sobrien.endif
5979455Sobrien.if defined(USE_SOELIM)
6079455SobrienTRFLAGS+=	-s
6179455Sobrien.endif
6279455Sobrien.if defined(USE_REFER)
6379455SobrienTRFLAGS+=	-R
6479455Sobrien.endif
6579455Sobrien
6679455SobrienDCOMPRESS_EXT?=	${COMPRESS_EXT}
6779455Sobrien.if defined(NODOCCOMPRESS) || ${PRINTERDEVICE} == "html"
6879455SobrienDFILE=	${DOC}.${PRINTERDEVICE}
6979455SobrienDCOMPRESS_CMD=	cat
7079455Sobrien.else
7179455SobrienDFILE=	${DOC}.${PRINTERDEVICE}${DCOMPRESS_EXT}
7279455SobrienDCOMPRESS_CMD?=	${COMPRESS_CMD}
7379455Sobrien.endif
7479455Sobrien
7579455SobrienPAGES?=		1-
7679455Sobrien
7779455SobrienUNROFF?=	unroff
7879455SobrienHTML_SPLIT?=	yes
7979455SobrienUNROFFFLAGS?=	-fhtml
8079455Sobrien.if ${HTML_SPLIT} == "yes"
8179455SobrienUNROFFFLAGS+=	split=1
8279455Sobrien.endif
8379455Sobrien
8479455Sobrien# Compatibility mode flag for groff.  Use this when formatting documents with
8579455Sobrien# Berkeley me macros.
8679455SobrienCOMPAT?=	-C
8779455Sobrien
8879455Sobrien.PATH: ${.CURDIR} ${SRCDIR}
8979455Sobrien
9079455Sobrien.MAIN:	all
9179455Sobrienall:	${DFILE}
9279455Sobrien
9379455Sobrien.if !target(print)
9479455Sobrienprint: ${DFILE}
9579455Sobrien.if defined(NODOCCOMPRESS)
9679455Sobrien	${LPR} ${DFILE}
9779455Sobrien.else
9879455Sobrien	${DCOMPRESS_CMD} -d ${DFILE} | ${LPR}
9979455Sobrien.endif
100102231Strhodes.endif
10179455Sobrien
10279455Sobrien.if ${PRINTERDEVICE} != "ascii" && ${PRINTERDEVICE} != "ps"
10379455SobrienCLEANFILES+=	${DOC}.${PRINTERDEVICE} ${DOC}.${PRINTERDEVICE}${DCOMPRESS_EXT}
10479455Sobrien.endif
10579455SobrienCLEANFILES+=	${DOC}.ascii ${DOC}.ascii${DCOMPRESS_EXT} \
10679455Sobrien		${DOC}.ps ${DOC}.ps${DCOMPRESS_EXT} \
10779455Sobrien		${DOC}.html ${DOC}-*.html
10879455Sobrien
10979455SobrienFILES?=	${SRCS}
11079455Sobrienrealinstall:
11179455Sobrien.if ${PRINTERDEVICE} == "html"
11279455Sobrien	cd ${SRCDIR}; \
11379455Sobrien		${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
11479455Sobrien		${DOC}*.html ${DESTDIR}${BINDIR}/${VOLUME}
11579455Sobrien.else
11679455Sobrien	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
11779455Sobrien		${DFILE} ${DESTDIR}${BINDIR}/${VOLUME}
11879455Sobrien.endif
11979455Sobrien
12079455Sobrieninstall:	beforeinstall realinstall afterinstall
12179455Sobrien
12279455Sobrien.if !target(beforeinstall)
12379455Sobrienbeforeinstall:
12479455Sobrien
12579455Sobrien.endif
12679455Sobrien.if !target(afterinstall)
12779455Sobrienafterinstall:
12879455Sobrien
12979455Sobrien.endif
13079455Sobrien
13179455SobrienDISTRIBUTION?=	doc
13279455Sobrien.if !target(distribute)
13379455Sobriendistribute:
13479455Sobrien.for dist in ${DISTRIBUTION}
13579455Sobrien	cd ${.CURDIR} ; $(MAKE) install DESTDIR=${DISTDIR}/${dist} SHARED=copies
13679455Sobrien.endfor
13779455Sobrien.endif
13879455Sobrien
13979455Sobrienspell: ${SRCS}
14079455Sobrien	(cd ${.CURDIR};  spell ${SRCS} ) | sort | \
14179455Sobrien		comm -23 - ${.CURDIR}/spell.ok > ${DOC}.spell
14279455Sobrien
14379455SobrienBINDIR?=	/usr/share/doc
14479455SobrienBINMODE=        444
14579455Sobrien
14679455SobrienSRCDIR?=	${.CURDIR}
14779455Sobrien
14879455Sobrien.if !target(${DFILE})
14979455Sobrien_stamp.extraobjs: ${EXTRA} ${OBJS}
15079455Sobrien	touch ${.TARGET}
15179455SobrienCLEANFILES+=	_stamp.extraobjs
15279455Sobrien${DFILE}: ${SRCS} _stamp.extraobjs
15379455Sobrien.if ${PRINTERDEVICE} == "html"
15479455Sobrien	cd ${SRCDIR}; ${UNROFF} ${MACROS} ${UNROFFFLAGS} \
15579455Sobrien	    document=${DOC} ${SRCS}
15679455Sobrien.elif defined(USE_SOELIMPP)
15779455Sobrien	${SOELIMPP} ${.ALLSRC:N_stamp.extraobjs} | ${ROFF} | \
15879455Sobrien	    ${DCOMPRESS_CMD} > ${.TARGET}
15979455Sobrien.else
16079455Sobrien	(cd ${SRCDIR}; ${ROFF} ${.ALLSRC:N_stamp.extraobjs}) | \
16179455Sobrien	    ${DCOMPRESS_CMD} > ${.TARGET}
16279455Sobrien.endif
16379455Sobrien.endif
16479455Sobrien
16579455Sobrien.if !target(maninstall)
16679455Sobrienmaninstall:
16779455Sobrien.endif
16879455Sobrien
16979455Sobrien.if !target(regress)
17079455Sobrienregress:
17179455Sobrien.endif
17279455Sobrien
17379455Sobrien.include <bsd.obj.mk>
17479455Sobrien