xref: /netbsd-src/share/man/man0/Makefile (revision 64cf3c5d82b19bb28965a0d71372d54b29b6035a)
1#	from: @(#)Makefile	5.9 (Berkeley) 7/1/91
2#	$NetBSD: Makefile,v 1.19 2024/04/05 23:05:53 christos Exp $
3
4#
5# Note: Needs ps2pdf to convert .ps to .pdf
6#
7
8.include <bsd.own.mk>
9
10.if ${MKSHARE} != "no" && ${MKMAKEMANDB} == "no"
11FILES=		makewhatis.sed
12FILESDIR=	/usr/share/man
13.endif
14
15SECTIONS?=	1 2 3 4 5 6 7 8 9
16
17MANSRCDIRS=	"${.CURDIR}/../../.." ../../..
18
19# Takes out some fluff from the PostScript files created by
20# grops which does some VM saving/restoring that bloats the
21# PDF file pdf2ps generates.              By uwe@NetBSD.org.
22OPTIMIZE_PDF?=	\
23			-e '/^\/level0 0 def/d'		\
24			-e '/^\/level0 save/d'		\
25			-e '/^level0 restore/d'
26
27MAN0SRCS=
28.if ${MKMAN} != "no"
29MAN0SRCS+=	all.files
30MAN0SRCS+=	${SECTIONS:@S@man${S}pages.files@}
31MAN0SRCS+=	${SECTIONS:@S@man${S}pages.ps @}
32MAN0SRCS+=	${SECTIONS:@S@man${S}pages.pdf@}
33.endif
34
35CLEANFILES+=	${MAN0SRCS}
36CLEANFILES+=	*.tmp
37CLEANFILES+=	toc? tocx?
38
39all: ${MAN0SRCS}
40
41all.files:
42	${_MKTARGET_CREATE}
43	find ${MANSRCDIRS} -name '*.[1-9]' -print	\
44	| xargs ${TOOL_MKMAGIC}				\
45	| ${TOOL_GREP} troff				\
46	| ${TOOL_SED} 's/:[ 	]*.*$$//'		\
47	| ${TOOL_GREP} -F -v -f "${.CURDIR}/noman"	\
48	| ${TOOL_GREP} -v '#'				\
49	| ${TOOL_GREP} -v '/obj\.'			\
50	| ${TOOL_GREP} -v '/destdir\.'			\
51	| ${TOOL_GREP} -v '/tooldir\.'			\
52	> ${.TARGET}.tmp				\
53	&& ${MV} ${.TARGET}.tmp ${.TARGET} ;		\
54	rm -f ${.TARGET}.tmp
55
56
57.for _S in ${SECTIONS}
58
59man${_S}pages.files: all.files
60	${_MKTARGET_CREATE}
61	cat ${.ALLSRC}					\
62	| ${TOOL_GREP} "${_S}\$$"			\
63	| ${TOOL_SED} 's,\(.*/\)\([^/]*\),\2 \1\2,'	\
64	| sort						\
65	| ${TOOL_SED} 's/^.* //'			\
66	> ${.TARGET}.tmp				\
67	&& ${MV} ${.TARGET}.tmp ${.TARGET} ;		\
68	rm -f ${.TARGET}.tmp
69
70man${_S}pages.ps: man${_S}pages.files
71	${_MKTARGET_CREATE}
72	for f in `${TOOL_GREP} "${_S}\$$" "${.CURDIR}/intros"` `cat ${.ALLSRC}` ; \
73	do						\
74		if [ ! -f $${f} ]; then			\
75			continue ;			\
76		fi ;					\
77		if ${TOOL_GREP} -q ^\\.TS "${.CURDIR}/back" ; \
78		then					\
79			${_MKSHMSG_FORMAT} >&2 $${f} ;	\
80			cat $${f} | ${TOOL_TBL} | ${TOOL_GROFF} -Z -msafer -man -Tps ${ROFF_PAGESIZE}; \
81		else					\
82			${_MKSHMSG_FORMAT} >&2 $${f} "(tbl)";	\
83			cat $${f} | ${TOOL_GROFF} -Z -msafer -man -Tps ${ROFF_PAGESIZE}; \
84		fi ;					\
85	done > ${.TARGET}.troff.tmp			\
86	&& cat ${.TARGET}.troff.tmp			\
87	| ${TOOL_GREP} -v '^x stop'			\
88	| ${TOOL_GROPS} 				\
89	> ${.TARGET}.tmp				\
90	&& ${MV} ${.TARGET}.tmp ${.TARGET} ;		\
91	rm -f ${.TARGET}.tmp ${.TARGET}.troff.tmp
92
93man${_S}pages.pdf: man${_S}pages.ps
94	${_MKTARGET_CREATE}
95	cat ${.ALLSRC}					\
96	| ${TOOL_SED} ${OPTIMIZE_PDF} 			\
97	| ps2pdf - -					\
98	> ${.TARGET}.tmp				\
99	&& ${MV} ${.TARGET}.tmp ${.TARGET} ;		\
100	rm -f ${.TARGET}.tmp
101
102.endfor
103
104man.tgz:
105	tar plzvcf manpages-ps.tgz man?pages.ps
106	tar plzvcf manpages-pdf.tgz man?pages.pdf
107
108.include <bsd.files.mk>
109