bsd.doc.mk revision 33801
1#	from: @(#)bsd.doc.mk	5.3 (Berkeley) 1/2/91
2#	$Id: bsd.doc.mk,v 1.41 1997/11/09 15:03:11 wosch 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.if exists(${.CURDIR}/../Makefile.inc)
18.include "${.CURDIR}/../Makefile.inc"
19.endif
20
21PRINTERDEVICE?=	ascii
22
23BIB?=		bib
24EQN?=		eqn -T${PRINTERDEVICE}
25GREMLIN?=	grn
26GRIND?=		vgrind -f
27INDXBIB?=	indxbib
28PIC?=		pic
29REFER?=		refer
30.if ${PRINTERDEVICE} == "ascii"
31ROFF?=          groff -mtty-char ${TRFLAGS} ${MACROS} -o${PAGES}
32.else
33ROFF?=		groff ${TRFLAGS} ${MACROS} -o${PAGES}
34.endif
35SOELIM?=	soelim
36SOELIMPP=	sed ${SOELIMPPARGS}
37SOELIMPPARGS0=	${SRCS} ${EXTRA}
38SOELIMPPARGS1=	${SOELIMPPARGS0:S/^/-e\\ \'s:\(\.so[\\ \\	][\\ \\	]*\)\(/}
39SOELIMPPARGS2=	${SOELIMPPARGS1:S/$/\)\$:\1${SRCDIR}\/\2:\'/}
40SOELIMPPARGS=	${SOELIMPPARGS2:S/\\'/'/g}
41TBL?=		tbl
42
43DOC?=		paper
44LPR?=		lpr
45
46TRFLAGS+=	-T${PRINTERDEVICE}
47.if defined(USE_EQN)
48TRFLAGS+=	-e
49.endif
50.if defined(USE_TBL)
51TRFLAGS+=	-t
52.endif
53.if defined(USE_PIC)
54TRFLAGS+=	-p
55.endif
56.if defined(USE_SOELIM)
57TRFLAGS+=	-s
58.endif
59.if defined(USE_REFER)
60TRFLAGS+=	-R
61.endif
62
63DCOMPRESS_EXT?=	${COMPRESS_EXT}
64.if defined(NODOCCOMPRESS) || ${PRINTERDEVICE} == "html"
65DFILE=	${DOC}.${PRINTERDEVICE}
66DCOMPRESS_CMD=	cat
67.else
68DFILE=	${DOC}.${PRINTERDEVICE}${DCOMPRESS_EXT}
69DCOMPRESS_CMD?=	${COMPRESS_CMD}
70.endif
71
72PAGES?=		1-
73
74UNROFF?=	unroff
75HTML_SPLIT?=	yes
76UNROFFFLAGS?=	-fhtml
77.if ${HTML_SPLIT} == "yes"
78UNROFFFLAGS+=	split=1
79.endif
80
81# Compatibility mode flag for groff.  Use this when formatting documents with
82# Berkeley me macros.
83COMPAT?=	-C
84
85.PATH: ${.CURDIR} ${SRCDIR}
86
87.MAIN:	all
88all:	${DFILE}
89
90.if !target(print)
91print: ${DFILE}
92.if defined(NODOCCOMPRESS)
93	${LPR} ${DFILE}
94.else
95	${DCOMPRESS_CMD} -d ${DFILE} | ${LPR}
96.endif
97.endif
98
99.if ${PRINTERDEVICE} != "ascii" && ${PRINTERDEVICE} != "ps"
100CLEANFILES+=	${DOC}.${PRINTERDEVICE} ${DOC}.${PRINTERDEVICE}${DCOMPRESS_EXT}
101.endif
102CLEANFILES+=	${DOC}.ascii ${DOC}.ascii${DCOMPRESS_EXT} \
103		${DOC}.ps ${DOC}.ps${DCOMPRESS_EXT} \
104		${DOC}.html ${DOC}-*.html
105
106FILES?=	${SRCS}
107realinstall:
108.if ${PRINTERDEVICE} == "html"
109	cd ${SRCDIR}; \
110		${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
111		${DOC}*.html ${DESTDIR}${BINDIR}/${VOLUME}
112.else
113	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
114		${DFILE} ${DESTDIR}${BINDIR}/${VOLUME}
115.endif
116
117install:	beforeinstall realinstall afterinstall
118
119.if !target(beforeinstall)
120beforeinstall:
121
122.endif
123.if !target(afterinstall)
124afterinstall:
125
126.endif
127
128DISTRIBUTION?=	doc
129.if !target(distribute)
130distribute:
131.for dist in ${DISTRIBUTION}
132	cd ${.CURDIR} ; $(MAKE) install DESTDIR=${DISTDIR}/${dist} SHARED=copies
133.endfor
134.endif
135
136spell: ${SRCS}
137	(cd ${.CURDIR};  spell ${SRCS} ) | sort | \
138		comm -23 - ${.CURDIR}/spell.ok > ${DOC}.spell
139
140BINDIR?=	/usr/share/doc
141BINMODE=        444
142
143SRCDIR?=	${.CURDIR}
144
145.if !target(${DFILE})
146.if ${PRINTERDEVICE} == "html"
147${DFILE}:	${SRCS} ${EXTRA} ${OBJS}
148	cd ${SRCDIR}; ${UNROFF} ${MACROS} ${UNROFFFLAGS} \
149		document=${DOC} ${SRCS}
150.else
151
152${DFILE}::	${SRCS} ${EXTRA} ${OBJS}
153# XXX ${.ALLSRC} doesn't work unless there are a lot of .PATH.foo statements.
154ALLSRCS=	${SRCS:S;^;${SRCDIR}/;}
155${DFILE}::	${SRCS}
156.if defined(USE_SOELIMPP)
157	${SOELIMPP} ${ALLSRCS} | ${ROFF} | ${DCOMPRESS_CMD} > ${.TARGET}
158.else
159	(cd ${SRCDIR}; ${ROFF} ${.ALLSRC}) | ${DCOMPRESS_CMD} > ${.TARGET}
160.endif
161.else
162.if !defined(NODOCCOMPRESS)
163${DFILE}:	${DOC}.${PRINTERDEVICE}
164	${DCOMPRESS_CMD} ${DOC}.${PRINTERDEVICE} > ${.TARGET}
165.endif
166.endif
167.endif
168
169.if !target(depend)
170depend:
171.endif
172
173.if !target(maninstall)
174maninstall:
175.endif
176
177.include <bsd.dep.mk>
178.include <bsd.obj.mk>
179