11.1Smycroft#	from: @(#)Makefile	5.9 (Berkeley) 7/1/91
21.19Schristos#	$NetBSD: Makefile,v 1.19 2024/04/05 23:05:53 christos Exp $
31.10Slukem
41.18Slukem#
51.18Slukem# Note: Needs ps2pdf to convert .ps to .pdf
61.18Slukem#
71.1Smycroft
81.4Slukem.include <bsd.own.mk>
91.4Slukem
101.17Sjoerg.if ${MKSHARE} != "no" && ${MKMAKEMANDB} == "no"
111.14ShubertfFILES=		makewhatis.sed
121.1SmycroftFILESDIR=	/usr/share/man
131.3Slukem.endif
141.5Shubertf
151.18SlukemSECTIONS?=	1 2 3 4 5 6 7 8 9
161.5Shubertf
171.18SlukemMANSRCDIRS=	"${.CURDIR}/../../.." ../../..
181.8Shubertf
191.13Swiz# Takes out some fluff from the PostScript files created by
201.8Shubertf# grops which does some VM saving/restoring that bloats the
211.11Sgrant# PDF file pdf2ps generates.              By uwe@NetBSD.org.
221.8ShubertfOPTIMIZE_PDF?=	\
231.18Slukem			-e '/^\/level0 0 def/d'		\
241.18Slukem			-e '/^\/level0 save/d'		\
251.18Slukem			-e '/^level0 restore/d'
261.18Slukem
271.18SlukemMAN0SRCS=
281.18Slukem.if ${MKMAN} != "no"
291.18SlukemMAN0SRCS+=	all.files
301.18SlukemMAN0SRCS+=	${SECTIONS:@S@man${S}pages.files@}
311.18SlukemMAN0SRCS+=	${SECTIONS:@S@man${S}pages.ps @}
321.18SlukemMAN0SRCS+=	${SECTIONS:@S@man${S}pages.pdf@}
331.18Slukem.endif
341.18Slukem
351.18SlukemCLEANFILES+=	${MAN0SRCS}
361.18SlukemCLEANFILES+=	*.tmp
371.18SlukemCLEANFILES+=	toc? tocx?
381.18Slukem
391.18Slukemall: ${MAN0SRCS}
401.18Slukem
411.18Slukemall.files:
421.18Slukem	${_MKTARGET_CREATE}
431.18Slukem	find ${MANSRCDIRS} -name '*.[1-9]' -print	\
441.18Slukem	| xargs ${TOOL_MKMAGIC}				\
451.18Slukem	| ${TOOL_GREP} troff				\
461.18Slukem	| ${TOOL_SED} 's/:[ 	]*.*$$//'		\
471.18Slukem	| ${TOOL_GREP} -F -v -f "${.CURDIR}/noman"	\
481.18Slukem	| ${TOOL_GREP} -v '#'				\
491.18Slukem	| ${TOOL_GREP} -v '/obj\.'			\
501.18Slukem	| ${TOOL_GREP} -v '/destdir\.'			\
511.18Slukem	| ${TOOL_GREP} -v '/tooldir\.'			\
521.18Slukem	> ${.TARGET}.tmp				\
531.18Slukem	&& ${MV} ${.TARGET}.tmp ${.TARGET} ;		\
541.18Slukem	rm -f ${.TARGET}.tmp
551.18Slukem
561.18Slukem
571.18Slukem.for _S in ${SECTIONS}
581.18Slukem
591.18Slukemman${_S}pages.files: all.files
601.18Slukem	${_MKTARGET_CREATE}
611.18Slukem	cat ${.ALLSRC}					\
621.18Slukem	| ${TOOL_GREP} "${_S}\$$"			\
631.18Slukem	| ${TOOL_SED} 's,\(.*/\)\([^/]*\),\2 \1\2,'	\
641.18Slukem	| sort						\
651.18Slukem	| ${TOOL_SED} 's/^.* //'			\
661.18Slukem	> ${.TARGET}.tmp				\
671.18Slukem	&& ${MV} ${.TARGET}.tmp ${.TARGET} ;		\
681.18Slukem	rm -f ${.TARGET}.tmp
691.18Slukem
701.18Slukemman${_S}pages.ps: man${_S}pages.files
711.18Slukem	${_MKTARGET_CREATE}
721.18Slukem	for f in `${TOOL_GREP} "${_S}\$$" "${.CURDIR}/intros"` `cat ${.ALLSRC}` ; \
731.18Slukem	do						\
741.18Slukem		if [ ! -f $${f} ]; then			\
751.18Slukem			continue ;			\
761.18Slukem		fi ;					\
771.18Slukem		if ${TOOL_GREP} -q ^\\.TS "${.CURDIR}/back" ; \
781.18Slukem		then					\
791.18Slukem			${_MKSHMSG_FORMAT} >&2 $${f} ;	\
801.19Schristos			cat $${f} | ${TOOL_TBL} | ${TOOL_GROFF} -Z -msafer -man -Tps ${ROFF_PAGESIZE}; \
811.18Slukem		else					\
821.18Slukem			${_MKSHMSG_FORMAT} >&2 $${f} "(tbl)";	\
831.19Schristos			cat $${f} | ${TOOL_GROFF} -Z -msafer -man -Tps ${ROFF_PAGESIZE}; \
841.18Slukem		fi ;					\
851.18Slukem	done > ${.TARGET}.troff.tmp			\
861.18Slukem	&& cat ${.TARGET}.troff.tmp			\
871.18Slukem	| ${TOOL_GREP} -v '^x stop'			\
881.18Slukem	| ${TOOL_GROPS} 				\
891.18Slukem	> ${.TARGET}.tmp				\
901.18Slukem	&& ${MV} ${.TARGET}.tmp ${.TARGET} ;		\
911.18Slukem	rm -f ${.TARGET}.tmp ${.TARGET}.troff.tmp
921.18Slukem
931.18Slukemman${_S}pages.pdf: man${_S}pages.ps
941.18Slukem	${_MKTARGET_CREATE}
951.18Slukem	cat ${.ALLSRC}					\
961.18Slukem	| ${TOOL_SED} ${OPTIMIZE_PDF} 			\
971.18Slukem	| ps2pdf - -					\
981.18Slukem	> ${.TARGET}.tmp				\
991.18Slukem	&& ${MV} ${.TARGET}.tmp ${.TARGET} ;		\
1001.18Slukem	rm -f ${.TARGET}.tmp
1011.18Slukem
1021.18Slukem.endfor
1031.8Shubertf
1041.8Shubertfman.tgz:
1051.8Shubertf	tar plzvcf manpages-ps.tgz man?pages.ps
1061.8Shubertf	tar plzvcf manpages-pdf.tgz man?pages.pdf
1071.1Smycroft
1081.18Slukem.include <bsd.files.mk>
109