1 1.38.8.2 pavel # $NetBSD: Makefile.inc,v 1.38.8.2 2007/07/26 15:26:36 pavel Exp $ 2 1.38.8.2 pavel # 3 1.38.8.2 pavel 4 1.38.8.2 pavel # Ross Harvey <ross@NetBSD.org> 5 1.38.8.2 pavel 6 1.38.8.2 pavel .include <bsd.own.mk> # So we get /etc/mk.conf vars. 7 1.38.8.2 pavel .include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib" 8 1.38.8.2 pavel 9 1.38.8.2 pavel # Whether or not to regenerate tables of contents 10 1.38.8.2 pavel # 11 1.38.8.2 pavel MKTOCS?=yes 12 1.38.8.2 pavel 13 1.38.8.2 pavel M?= ${.CURDIR:T} 14 1.38.8.2 pavel COMMON= ${.CURDIR}/../common 15 1.38.8.2 pavel 16 1.38.8.2 pavel MAIN= ${COMMON}/main ${COMMON}/macros ${EXTRA} 17 1.38.8.2 pavel TARG= INSTALL 18 1.38.8.2 pavel TARGS= ${TARG}.ps ${TARG}.txt ${TARG}.html ${TARG}.more 19 1.38.8.2 pavel TOCS= ${TARG}.PostScript.toc ${TARG}.ASCII.toc ${TARG}.HTML.toc \ 20 1.38.8.2 pavel ${TARG}.more.toc 21 1.38.8.2 pavel SRCS= ${MAIN} whatis ${COMMON}/contents hardware xfer prep \ 22 1.38.8.2 pavel ${.CURDIR}/install ${COMMON}/postinstall upgrade \ 23 1.38.8.2 pavel ${COMMON}/legal.common legal \ 24 1.38.8.2 pavel ${.CURDIR}/../Makefile.inc ${MERGED_SRCS} 25 1.38.8.2 pavel 26 1.38.8.2 pavel whatis: .OPTIONAL 27 1.38.8.2 pavel 28 1.38.8.2 pavel PRESET= ${GFLAGS} -U -dM=${M} -dV=${DISTRIBVER} -d.CURDIR=${.CURDIR} -r${M}=1 29 1.38.8.2 pavel 30 1.38.8.2 pavel POST_PLAIN= -P-b -P-u -P-o 31 1.38.8.2 pavel 32 1.38.8.2 pavel ARGS_PS= ${PRESET} -dformat=PostScript 33 1.38.8.2 pavel ARGS_TXT= ${PRESET} -dformat=ASCII ${POST_PLAIN} -Tascii -mtty-char 34 1.38.8.2 pavel ARGS_HTML= ${PRESET} -dformat=HTML ${POST_PLAIN} -Tlatin1 -ww 35 1.38.8.2 pavel ARGS_MORE= ${PRESET} -dformat=more -P-h -Tascii -mtty-char 36 1.38.8.2 pavel 37 1.38.8.2 pavel # 38 1.38.8.2 pavel # For example... 39 1.38.8.2 pavel # 40 1.38.8.2 pavel # .if ri386 ...stuff... 41 1.38.8.2 pavel # .Ss "Install notes for NetBSD/\*[MACHINE]" 42 1.38.8.2 pavel # 43 1.38.8.2 pavel 44 1.38.8.2 pavel all: ${TARGS} 45 1.38.8.2 pavel 46 1.38.8.2 pavel .if ${MKTOCS} != "no" 47 1.38.8.2 pavel TOC.ps= ${TOCS:M*.PostScript.*} 48 1.38.8.2 pavel TOC.txt= ${TOCS:M*.ASCII.*} 49 1.38.8.2 pavel TOC.html= ${TOCS:M*.HTML.*} 50 1.38.8.2 pavel TOC.more= ${TOCS:M*.more.*} 51 1.38.8.2 pavel .endif 52 1.38.8.2 pavel 53 1.38.8.2 pavel 54 1.38.8.2 pavel ${TARG}.ps: ${SRCS} ${TOC.ps} ${DISTRIBVERDEP} 55 1.38.8.2 pavel ${TOOL_GROFF} ${ARGS_PS} -mdoc ${MAIN} > $@ 56 1.38.8.2 pavel 57 1.38.8.2 pavel ${TARG}.pdf: ${TARG}.ps 58 1.38.8.2 pavel ps2pdf ${TARG}.ps $@ 59 1.38.8.2 pavel 60 1.38.8.2 pavel ${TARG}.txt: ${SRCS} ${TOC.txt} ${DISTRIBVERDEP} 61 1.38.8.2 pavel ${TOOL_GROFF} ${ARGS_TXT} -mdoc ${MAIN} > $@ 62 1.38.8.2 pavel 63 1.38.8.2 pavel ${TARG}.html: ${SRCS} ${TOC.html} ${DISTRIBVERDEP} 64 1.38.8.2 pavel ${TOOL_GROFF} ${ARGS_HTML} -mdoc2html ${MAIN} > $@ 65 1.38.8.2 pavel 66 1.38.8.2 pavel ${TARG}.more: ${SRCS} ${TOC.more} ${DISTRIBVERDEP} 67 1.38.8.2 pavel ${TOOL_GROFF} ${ARGS_MORE} -mdoc ${MAIN} > $@ 68 1.38.8.2 pavel 69 1.38.8.2 pavel 70 1.38.8.2 pavel # Rules to build the table of contents (.toc) files. 71 1.38.8.2 pavel # They are generated twice to take into account the 72 1.38.8.2 pavel # space taken by the TOC itself. 73 1.38.8.2 pavel # 74 1.38.8.2 pavel 75 1.38.8.2 pavel TOCPROC= 2>&1 >/dev/null |\ 76 1.38.8.2 pavel sed -n '/^\.Ti/{s/ \([A-Za-z]\)/ "\1/; s/ *$$/"/; p; }' 77 1.38.8.2 pavel 78 1.38.8.2 pavel ${TARG}.PostScript.toc: ${SRCS} 79 1.38.8.2 pavel ${TOOL_GROFF} -dTOC=1 ${ARGS_PS} -mdoc ${MAIN} ${TOCPROC} > $@.tmp 80 1.38.8.2 pavel mv -f $@.tmp $@ 81 1.38.8.2 pavel ${TOOL_GROFF} -dTOC=1 ${ARGS_PS} -mdoc ${MAIN} ${TOCPROC} > $@.tmp 82 1.38.8.2 pavel mv -f $@.tmp $@ 83 1.38.8.2 pavel 84 1.38.8.2 pavel ${TARG}.ASCII.toc: ${SRCS} 85 1.38.8.2 pavel ${TOOL_GROFF} -dTOC=1 ${ARGS_TXT} -mdoc ${MAIN} ${TOCPROC} > $@.tmp 86 1.38.8.2 pavel mv -f $@.tmp $@ 87 1.38.8.2 pavel ${TOOL_GROFF} -dTOC=1 ${ARGS_TXT} -mdoc ${MAIN} ${TOCPROC} > $@.tmp 88 1.38.8.2 pavel mv -f $@.tmp $@ 89 1.38.8.2 pavel 90 1.38.8.2 pavel ${TARG}.HTML.toc: ${SRCS} 91 1.38.8.2 pavel ${TOOL_GROFF} -dTOC=1 ${ARGS_HTML} -mdoc ${MAIN} ${TOCPROC} > $@.tmp 92 1.38.8.2 pavel mv -f $@.tmp $@ 93 1.38.8.2 pavel ${TOOL_GROFF} -dTOC=1 ${ARGS_HTML} -mdoc ${MAIN} ${TOCPROC} > $@.tmp 94 1.38.8.2 pavel mv -f $@.tmp $@ 95 1.38.8.2 pavel 96 1.38.8.2 pavel ${TARG}.more.toc: ${SRCS} 97 1.38.8.2 pavel ${TOOL_GROFF} -dTOC=1 ${ARGS_MORE} -mdoc ${MAIN} ${TOCPROC} > $@.tmp 98 1.38.8.2 pavel mv -f $@.tmp $@ 99 1.38.8.2 pavel ${TOOL_GROFF} -dTOC=1 ${ARGS_MORE} -mdoc ${MAIN} ${TOCPROC} > $@.tmp 100 1.38.8.2 pavel mv -f $@.tmp $@ 101 1.38.8.2 pavel 102 1.38.8.2 pavel 103 1.38.8.2 pavel release: check_RELEASEDIR .WAIT ${TARGS} 104 1.38.8.2 pavel ${INSTALL} -d -m 755 ${RELEASEDIR}/${RELEASEMACHINEDIR} 105 1.38.8.2 pavel ${RELEASE_INSTALL} ${TARGS} ${RELEASEDIR}/${RELEASEMACHINEDIR} 106 1.38.8.2 pavel 107 1.38.8.2 pavel cleannotes: 108 1.38.8.2 pavel rm -f [Ee]rrs mklog core *.core ${TARGS} ${TOCS} \ 109 1.38.8.2 pavel ${TOCS:S/.toc$/.toc.tmp/g} 110 1.38.8.2 pavel 111 1.38.8.2 pavel clean cleandir distclean: cleannotes 112