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