Home | History | Annotate | Line # | Download | only in man0
      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"
     11 FILES=		makewhatis.sed
     12 FILESDIR=	/usr/share/man
     13 .endif
     14 
     15 SECTIONS?=	1 2 3 4 5 6 7 8 9
     16 
     17 MANSRCDIRS=	"${.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 (at] NetBSD.org.
     22 OPTIMIZE_PDF?=	\
     23 			-e '/^\/level0 0 def/d'		\
     24 			-e '/^\/level0 save/d'		\
     25 			-e '/^level0 restore/d'
     26 
     27 MAN0SRCS=
     28 .if ${MKMAN} != "no"
     29 MAN0SRCS+=	all.files
     30 MAN0SRCS+=	${SECTIONS:@S@man${S}pages.files@}
     31 MAN0SRCS+=	${SECTIONS:@S@man${S}pages.ps @}
     32 MAN0SRCS+=	${SECTIONS:@S@man${S}pages.pdf@}
     33 .endif
     34 
     35 CLEANFILES+=	${MAN0SRCS}
     36 CLEANFILES+=	*.tmp
     37 CLEANFILES+=	toc? tocx?
     38 
     39 all: ${MAN0SRCS}
     40 
     41 all.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 
     59 man${_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 
     70 man${_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 
     93 man${_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 
    104 man.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