Date: Thu, 18 Oct 2001 07:50:01 -0700 (PDT) From: Cyrille Lefevre <clefevre@citeweb.net> To: freebsd-doc@freebsd.org Subject: Re: docs/31131: build/install doc isn't /usr/obj prefix clean Message-ID: <200110181450.f9IEo1g15013@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR docs/31131; it has been noted by GNATS. From: Cyrille Lefevre <clefevre@citeweb.net> To: freebsd-gnats-submit@FreeBSD.org Cc: Subject: Re: docs/31131: build/install doc isn't /usr/obj prefix clean Date: Thu, 18 Oct 2001 16:45:28 +0200 (CEST) this patch set is a complement to both posted before. from /usr/doc, the first patch set should be applyed using patch, the second one using patch -p1 and this one using patch -p2. sorry for the convenient. if you prefer, I could submit one containing all all of them. many thing have been factorized (no need to repeat things) such as JADE calls (using HTMLOPTS var), install-* and packages-* targets. generated packages are more complete (w/ images and/or style sheet when needed). a PLIST file is generated for each one which avoid rebuilding all of them. they are still some work to do such as getting rid of those .if tests in install-* and packages-* targets. much better would be to use SOME_VARIABLE_${curformat} which contains all the needed files. .ps and .pdf files aren't well tested since I'm missing some space to generate all off them... do you see what I mean ;^) diff -ruN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ old/doc/en_US.ISO8859-1/books/handbook/Makefile new/doc/en_US.ISO8859-1/books/handbook/Makefile --- old/doc/en_US.ISO8859-1/books/handbook/Makefile Thu Oct 18 16:32:47 2001 +++ new/doc/en_US.ISO8859-1/books/handbook/Makefile Thu Oct 18 16:18:28 2001 @@ -96,6 +96,13 @@ IMAGES+= install/disk-layout.eps IMAGES+= install/edit-inetd-conf.scr +# Images from the cross-document image library +IMAGES_LIB= callouts/1.png +IMAGES_LIB+= callouts/2.png +IMAGES_LIB+= callouts/3.png +IMAGES_LIB+= callouts/4.png +IMAGES_LIB+= callouts/5.png + # # SRCS lists the individual SGML files that make up the document. Changes # to any of these files will force a rebuild diff -ruN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ old/doc/share/mk/doc.docbook.mk new/doc/share/mk/doc.docbook.mk --- old/doc/share/mk/doc.docbook.mk Thu Oct 18 16:32:51 2001 +++ new/doc/share/mk/doc.docbook.mk Thu Oct 18 16:32:24 2001 @@ -132,8 +132,11 @@ txt rtf ps pdf tex dvi tar pdb CSS_SHEET?= ${DOC_PREFIX}/share/misc/docbook.css +PDFTEX_DEF?= ${DOC_PREFIX}/share/web2c/pdftex.def -PRINTOPTS?= -ioutput.print +HTMLOPTS?= -ioutput.html -d ${DSLHTML} ${HTMLFLAGS} + +PRINTOPTS?= -ioutput.print -d ${DSLPRINT} ${PRINTFLAGS} .if defined(BOOK_OUTPUT) NICE_HEADERS=1 @@ -163,6 +166,7 @@ PERL?= /usr/bin/perl PKG_CREATE?= /usr/sbin/pkg_create +SORT?= /usr/bin/sort TAR?= /usr/bin/tar TOUCH?= /usr/bin/touch XARGS?= /usr/bin/xargs @@ -236,56 +240,48 @@ _docs+= index.html HTML.manifest ln*.html CLEANFILES+= $$([ -f HTML.manifest ] && ${XARGS} < HTML.manifest) \ HTML.manifest ln*.html -CLEANFILES+= docbook.css +CLEANFILES+= PLIST.${_curformat} +CLEANFILES+= ${LOCAL_CSS_SHEET} + +.else +_docs+= ${DOC}.${_curformat} +CLEANFILES+= ${DOC}.${_curformat} +CLEANFILES+= PLIST.${_curformat} -.elif ${_cf} == "html-split.tar" -_docs+= ${DOC}.html-split.tar +.if ${_cf} == "html-split.tar" CLEANFILES+= $$([ -f HTML.manifest ] && ${XARGS} < HTML.manifest) \ HTML.manifest ln*.html -CLEANFILES+= ${DOC}.html-split.tar -CLEANFILES+= docbook.css +CLEANFILES+= ${LOCAL_CSS_SHEET} .elif ${_cf} == "html" -_docs+= ${DOC}.html -CLEANFILES+= ${DOC}.html -CLEANFILES+= docbook.css +CLEANFILES+= ${LOCAL_CSS_SHEET} .elif ${_cf} == "html.tar" -_docs+= ${DOC}.html.tar -CLEANFILES+= ${DOC}.html ${DOC}.html.tar -CLEANFILES+= docbook.css +CLEANFILES+= ${DOC}.html +CLEANFILES+= ${LOCAL_CSS_SHEET} .elif ${_cf} == "txt" -_docs+= ${DOC}.txt -CLEANFILES+= ${DOC}.html ${DOC}.txt ${DOC}.html-text -CLEANFILES+= docbook.css +CLEANFILES+= ${DOC}.html ${DOC}.html-text +CLEANFILES+= ${LOCAL_CSS_SHEET} .elif ${_cf} == "dvi" -_docs+= ${DOC}.dvi -CLEANFILES+= ${DOC}.aux ${DOC}.dvi ${DOC}.log ${DOC}.tex +CLEANFILES+= ${DOC}.aux ${DOC}.log ${DOC}.tex + +.elif ${_cf} == "tex" +CLEANFILES+= ${DOC}.aux ${DOC}.log .elif ${_cf} == "ps" -_docs+= ${DOC}.ps -CLEANFILES+= ${DOC}.aux ${DOC}.dvi ${DOC}.log ${DOC}.tex-ps ${DOC}.ps +CLEANFILES+= ${DOC}.aux ${DOC}.dvi ${DOC}.log ${DOC}.tex-ps .elif ${_cf} == "pdf" -_docs+= ${DOC}.pdf -CLEANFILES+= ${DOC}.aux ${DOC}.dvi ${DOC}.log ${DOC}.out \ - ${DOC}.tex-pdf ${DOC}.pdf - -.elif ${_cf} == "rtf" -_docs+= ${DOC}.rtf -CLEANFILES+= ${DOC}.rtf - -.elif ${_cf} == "tar" -_docs+= ${DOC}.tar -CLEANFILES+= ${DOC}.tar +CLEANFILES+= ${DOC}.aux ${DOC}.dvi ${DOC}.log ${DOC}.out ${DOC}.tex-pdf .elif ${_cf} == "pdb" -_docs+= ${DOC}.pdb ${.CURDIR:T}.pdb -CLEANFILES+= ${DOC}.pdb ${.CURDIR:T}.pdb +_docs+= ${.CURDIR:T}.pdb +CLEANFILES+= ${.CURDIR:T}.pdb .endif +.endif .endfor @@ -300,10 +296,17 @@ .for _curformat in ${FORMATS} _cf=${_curformat} .for _curcomp in ${INSTALL_COMPRESSED} + .if ${_cf} != "html-split" && ${_cf} != "html" _curinst+= install-${_curformat}.${_curcomp} _docs+= ${DOC}.${_curformat}.${_curcomp} CLEANFILES+= ${DOC}.${_curformat}.${_curcomp} + +.if ${_cf} == "pdb" +_docs+= ${.CURDIR:T}.${_curformat}.${_curcomp} +CLEANFILES+= ${.CURDIR:T}.${_curformat}.${_curcomp} + +.endif .endif .endfor .endfor @@ -324,29 +327,28 @@ CLEANFILES+= ${HTML_SPLIT_INDEX} ${HTML_INDEX} ${PRINT_INDEX} .endif -LOCAL_IMAGES_LIB ?= -.for _curimage in ${IMAGES_LIB} -LOCAL_IMAGES_LIB += ${LOCAL_IMAGES_LIB_DIR}/${_curimage} -.endfor +.if ${.OBJDIR} != ${.CURDIR} +LOCAL_CSS_SHEET= ${.OBJDIR}/${CSS_SHEET:T} +.else +LOCAL_CSS_SHEET= ${CSS_SHEET:T} +.endif .MAIN: all all: ${_docs} -index.html HTML.manifest: ${SRCS} ${LOCAL_IMAGES_LIB} ${IMAGES_PNG} \ - ${INDEX_SGML} ${HTML_SPLIT_INDEX} docbook.css - ${JADE} -V html-manifest \ - -ioutput.html -ioutput.html.images ${JADEOPTS} \ - -d ${DSLHTML} -t sgml ${MASTERDOC} +index.html HTML.manifest: ${SRCS} ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} \ + ${INDEX_SGML} ${HTML_SPLIT_INDEX} ${LOCAL_CSS_SHEET} + ${JADE} -V html-manifest ${HTMLOPTS} -ioutput.html.images \ + ${JADEOPTS} -t sgml ${MASTERDOC} .if !defined(NO_TIDY) -${TIDY} ${TIDYFLAGS} $$(${XARGS} < HTML.manifest) .endif -${DOC}.html: ${SRCS} ${LOCAL_IMAGES_LIB} ${IMAGES_PNG} \ - ${INDEX_SGML} ${HTML_INDEX} docbook.css - ${JADE} -V nochunks \ - -ioutput.html -ioutput.html.images ${JADEOPTS} \ - -d ${DSLHTML} -t sgml ${MASTERDOC} > ${.TARGET} || \ +${DOC}.html: ${SRCS} ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} \ + ${INDEX_SGML} ${HTML_INDEX} ${LOCAL_CSS_SHEET} + ${JADE} -V nochunks ${HTMLOPTS} -ioutput.html.images \ + ${JADEOPTS} -t sgml ${MASTERDOC} > ${.TARGET} || \ (${RM} -f ${.TARGET} && false) .if !defined(NO_TIDY) -${TIDY} ${TIDYFLAGS} ${.TARGET} @@ -354,43 +356,39 @@ # Special target to produce HTML with no images in it. ${DOC}.html-text: ${SRCS} ${INDEX_SGML} ${HTML_INDEX} - ${JADE} -V nochunks \ - -ioutput.html ${JADEOPTS} \ - -d ${DSLHTML} -t sgml ${MASTERDOC} > ${.TARGET} || \ + ${JADE} -V nochunks ${HTMLOPTS} \ + ${JADEOPTS} -t sgml ${MASTERDOC} > ${.TARGET} || \ (${RM} -f ${.TARGET} && false) -${DOC}.html-split.tar: HTML.manifest - ${TAR} cf ${.TARGET} $$(${XARGS} < HTML.manifest) -.if !empty(IMAGES_LIB) - ${TAR} uf ${.TARGET} ${IMAGES_LIB} -.endif -.if !empty(IMAGES_PNG) - ${TAR} uf ${.TARGET} ${IMAGES_PNG} -.endif - ${TAR} uf ${.TARGET} docbook.css - -${DOC}.html.tar: ${DOC}.html - ${TAR} cf ${.TARGET} ${DOC}.html -.if !empty(LOCAL_IMAGES_LIB) - ${TAR} uf ${.TARGET} ${LOCAL_IMAGES_LIB} -.endif -.if !empty(IMAGES_PNG) - ${TAR} uf ${.TARGET} ${IMAGES_PNG} -.endif - ${TAR} uf ${.TARGET} docbook.css +${DOC}.html-split.tar: HTML.manifest ${LOCAL_IMAGES_LIB} \ + ${LOCAL_IMAGES_PNG} ${LOCAL_CSS_SHEET} + ${TAR} cf ${.TARGET} $$(${XARGS} < HTML.manifest) \ + ${LOCAL_IMAGES_LIB} ${IMAGES_PNG} ${CSS_SHEET:T} + +${DOC}.html.tar: ${DOC}.html ${LOCAL_IMAGES_LIB} \ + ${LOCAL_IMAGES_PNG} ${LOCAL_CSS_SHEET} + ${TAR} cf ${.TARGET} ${DOC}.html \ + ${LOCAL_IMAGES_LIB} ${IMAGES_PNG} ${CSS_SHEET:T} ${DOC}.txt: ${DOC}.html-text ${HTML2TXT} ${HTML2TXTFLAGS} ${.ALLSRC} > ${.TARGET} -${DOC}.pdb: ${DOC}.html - ${HTML2PDB} ${HTML2PDBFLAGS} ${.ALLSRC} ${.TARGET} +${DOC}.pdb: ${DOC}.html ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} + ${HTML2PDB} ${HTML2PDBFLAGS} ${DOC}.html ${.TARGET} ${.CURDIR:T}.pdb: ${DOC}.pdb - ${LN} -f ${DOC}.pdb ${.CURDIR:T}.pdb + ${LN} -f ${.ALLSRC} ${.TARGET} + +.if defined(INSTALL_COMPRESSED) && !empty(INSTALL_COMPRESSED) +.for _curcomp in ${INSTALL_COMPRESSED} +${.CURDIR:T}.pdb.${_curcomp}: ${DOC}.pdb.${_curcomp} + ${LN} -f ${.ALLSRC} ${.TARGET} +.endfor +.endif -${DOC}.rtf: ${SRCS} - ${JADE} -V rtf-backend ${PRINTOPTS} ${JADEOPTS} \ - -d ${DSLPRINT} -t rtf -o ${.TARGET} ${MASTERDOC} +${DOC}.rtf: ${SRCS} ${LOCAL_IMAGES_EPS} + ${JADE} -V rtf-backend ${PRINTOPTS} \ + ${JADEOPTS} -t rtf -o ${.TARGET} ${MASTERDOC} # # This sucks, but there's no way round it. The PS and PDF formats need @@ -399,36 +397,51 @@ # format, which will then lead on to a different .dvi file as well. # -${DOC}.tex-ps: ${SRCS} ${IMAGES_EPS} ${INDEX_SGML} ${PRINT_INDEX} - ${JADE} -V tex-backend ${PRINTOPTS} ${JADEOPTS} \ - -d ${DSLPRINT} -t tex -o ${.TARGET} ${MASTERDOC} +${DOC}.tex: ${SRCS} ${LOCAL_IMAGES_EPS} ${INDEX_SGML} ${PRINT_INDEX} + ${JADE} -V tex-backend ${PRINTOPTS} \ + ${JADEOPTS} -t tex -o ${.TARGET} ${MASTERDOC} + +${DOC}.tex-ps: ${DOC}.tex + ${LN} -f ${.ALLSRC} ${.TARGET} ${DOC}.tex-pdf: ${SRCS} ${IMAGES_PDF} ${INDEX_SGML} ${PRINT_INDEX} - ${CP} ${DOC_PREFIX}/share/web2c/pdftex.def ${.TARGET} - ${JADE} -V tex-backend ${PRINTOPTS} -ioutput.print.pdf ${JADEOPTS} \ - -d ${DSLPRINT} -t tex -o /dev/stdout ${MASTERDOC} >> ${.TARGET} + ${CP} -p ${PDFTEX_DEF} ${.TARGET} + ${JADE} -V tex-backend ${PRINTOPTS} -ioutput.print.pdf \ + ${JADEOPTS} -t tex -o /dev/stdout ${MASTERDOC} >> ${.TARGET} -${DOC}.dvi: ${DOC}.tex-ps +${DOC}.dvi: ${DOC}.tex ${LOCAL_IMAGES_EPS} @${ECHO} "==> TeX pass 1/3" - -${TEX} "&jadetex" '${TEXCMDS} \nonstopmode\input{${.ALLSRC}}' + -${TEX} "&jadetex" '${TEXCMDS} \nonstopmode\input{${DOC}.tex}' @${ECHO} "==> TeX pass 2/3" - -${TEX} "&jadetex" '${TEXCMDS} \nonstopmode\input{${.ALLSRC}}' + -${TEX} "&jadetex" '${TEXCMDS} \nonstopmode\input{${DOC}.tex}' @${ECHO} "==> TeX pass 3/3" - -${TEX} "&jadetex" '${TEXCMDS} \nonstopmode\input{${.ALLSRC}}' + -${TEX} "&jadetex" '${TEXCMDS} \nonstopmode\input{${DOC}.tex}' -${DOC}.pdf: ${DOC}.tex-pdf +${DOC}.pdf: ${DOC}.tex-pdf ${IMAGES_PDF} @${ECHO} "==> PDFTeX pass 1/3" - -${PDFTEX} "&pdfjadetex" '\nonstopmode\input{${.ALLSRC}}' + -${PDFTEX} "&pdfjadetex" '\nonstopmode\input{${DOC}.dvi}' @${ECHO} "==> PDFTeX pass 2/3" - -${PDFTEX} "&pdfjadetex" '\nonstopmode\input{${.ALLSRC}}' + -${PDFTEX} "&pdfjadetex" '\nonstopmode\input{${DOC}.dvi}' @${ECHO} "==> PDFTeX pass 3/3" - ${PDFTEX} "&pdfjadetex" '\nonstopmode\input{${.ALLSRC}}' + ${PDFTEX} "&pdfjadetex" '\nonstopmode\input{${DOC}.dvi}' ${DOC}.ps: ${DOC}.dvi ${DVIPS} -o ${.TARGET} ${.ALLSRC} -${DOC}.tar: ${SRCS} - ${TAR} cf ${.TARGET} -C ${.CURDIR} ${.ALLSRC:S|${.CURDIR}/||} +${DOC}.tar: ${SRCS} ${LOCAL_IMAGES} ${LOCAL_CSS_SHEET} + ${TAR} cf ${.TARGET} -C ${.CURDIR} ${SRCS} \ + -C ${.OBJDIR} ${IMAGES} ${CSS_SHEET:T} + +# +# Build targets for any formats we've missed that we don't handle. +# +.for _curformat in ${ALL_FORMATS} +.if !target(${DOC}.${_curformat}) +${DOC}.${_curformat}: + @${ECHO_CMD} \"${_curformat}\" is not a valid output format for this document. +.endif +.endfor + # ------------------------------------------------------------------------ # @@ -443,6 +456,7 @@ lint validate: ${NSGMLS} -s ${SGMLFLAGS} ${CATALOGS} ${MASTERDOC} + # ------------------------------------------------------------------------ # # Index targets @@ -464,19 +478,18 @@ .endif ${HTML_INDEX}: - ${JADE} -V html-index -V nochunks \ - -ioutput.html -ioutput.html.images ${JADEOPTS} \ - -d ${DSLHTML} -t sgml ${MASTERDOC} > /dev/null + ${JADE} -V html-index -V nochunks ${HTMLOPTS} -ioutput.html.images \ + ${JADEOPTS} -t sgml ${MASTERDOC} > /dev/null ${PERL} ${COLLATEINDEX} -g -o ${INDEX_SGML} ${.TARGET} ${HTML_SPLIT_INDEX}: - ${JADE} -V html-index \ - -ioutput.html -ioutput.html.images ${JADEOPTS} \ - -d ${DSLHTML} -t sgml ${MASTERDOC} > /dev/null + ${JADE} -V html-index ${HTMLOPTS} -ioutput.html.images \ + ${JADEOPTS} -t sgml ${MASTERDOC} > /dev/null ${PERL} ${COLLATEINDEX} -g -o ${INDEX_SGML} ${.TARGET} ${PRINT_INDEX}: ${HTML_INDEX} - ${MV} ${HTML_INDEX} ${.TARGET} + ${CP} -p ${HTML_INDEX} ${.TARGET} + # ------------------------------------------------------------------------ # @@ -499,10 +512,10 @@ # _PROG_COMPRESS_gz: .USE - ${GZIP_CMD} ${.ALLSRC} > ${.TARGET} + ${GZIP_CMD} < ${.ALLSRC} > ${.TARGET} _PROG_COMPRESS_bz2: .USE - ${BZIP2_CMD} ${.ALLSRC} > ${.TARGET} + ${BZIP2_CMD} < ${.ALLSRC} > ${.TARGET} _PROG_COMPRESS_zip: .USE ${ZIP_CMD} ${.TARGET} ${.ALLSRC} @@ -524,6 +537,19 @@ .endfor .endfor +# +# Build targets for any formats we've missed that we don't handle. +# +.for _curformat in ${ALL_FORMATS} +.for _curcompress in ${KNOWN_COMPRESS} +.if !target(${DOC}.${_curformat}.${_curcompress}) +${DOC}.${_curformat}.${_curcompress}: + @${ECHO_CMD} \"${_curformat}.${_curcompress}\" is not a valid output format for this document. +.endif +.endfor +.endfor + + # ------------------------------------------------------------------------ # # Install targets @@ -559,16 +585,26 @@ _cf=${_curformat} .if !target(install-${_cf}) .if ${_cf} == "html-split" -install-${_cf}: index.html +install-${_curformat}: index.html +.else +install-${_curformat}: ${DOC}.${_curformat} +.endif @[ -d ${DESTDIR} ] || ${MKDIR} -p ${DESTDIR} +.if ${_cf} == "html-split" ${INSTALL_DOCS} $$(${XARGS} < HTML.manifest) ${DESTDIR} - ${INSTALL_DOCS} docbook.css ${DESTDIR} +.else + ${INSTALL_DOCS} ${.ALLSRC} ${DESTDIR} +.endif +.if (${_cf} == "html-split" || ${_cf} == "html") && !empty(LOCAL_CSS_SHEET) + ${INSTALL_DOCS} ${LOCAL_CSS_SHEET} ${DESTDIR} +.if ${_cf} == "html-split" @if [ -f ln*.html ]; then \ ${INSTALL_DOCS} ln*.html ${DESTDIR}; \ fi @if [ -f ${.OBJDIR}/${DOC}.ln ]; then \ - (cd ${DESTDIR}; sh ${.OBJDIR}/${DOC}.ln); \ + cd ${DESTDIR}; sh ${.OBJDIR}/${DOC}.ln; \ fi +.endif .for _curimage in ${IMAGES_LIB} @[ -d ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} ] || \ ${MKDIR} -p ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} @@ -586,47 +622,55 @@ .for _curimage in ${IMAGES_PNG:N*/*} ${INSTALL_DOCS} ${_curimage} ${DESTDIR} .endfor -.for _compressext in ${KNOWN_COMPRESS} -install-${_cf}.tar.${_compressext}: ${DOC}.${_cf}.tar.${_compressext} - @[ -d ${DESTDIR} ] || ${MKDIR} -p ${DESTDIR} - ${INSTALL_DOCS} ${.ALLSRC} ${DESTDIR} -.endfor -.elif ${_cf} == "html" -install-${_cf}: ${DOC}.${_cf} - @[ -d ${DESTDIR} ] || ${MKDIR} -p ${DESTDIR} - ${INSTALL_DOCS} ${.ALLSRC} ${DESTDIR} - ${INSTALL_DOCS} docbook.css ${DESTDIR} -.for _curimage in ${IMAGES_LIB} - @[ -d ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} ] || \ - ${MKDIR} -p ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} - ${INSTALL_DOCS} ${LOCAL_IMAGES_LIB_DIR}/${_curimage} \ - ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} -.endfor -# Install the images. First, loop over all the image names that contain a -# directory seperator, make the subdirectories, and install. Then loop over -# the ones that don't contain a directory separator, and install them in the -# top level. -.for _curimage in ${IMAGES_PNG:M*/*} +.elif ${_cf} == "tex" || ${_cf} == "dvi" +.for _curimage in ${IMAGES_EPS:M*/*} ${MKDIR} -p ${DESTDIR}/${_curimage:H} ${INSTALL_DOCS} ${_curimage} ${DESTDIR}/${_curimage:H} .endfor -.for _curimage in ${IMAGES_PNG:N*/*} +.for _curimage in ${IMAGES_EPS:N*/*} ${INSTALL_DOCS} ${_curimage} ${DESTDIR} .endfor -.else -install-${_cf}: ${DOC}.${_cf} +.elif ${_cf} == "pdb" + ${LN} -f ${DESTDIR}/${.ALLSRC} ${DESTDIR}/${.CURDIR:T}.${_curformat} +.endif + +.if ${_cf} == "html-split" +.for _compressext in ${KNOWN_COMPRESS} +install-${_curformat}.tar.${_compressext}: ${DOC}.${_curformat}.tar.${_compressext} @[ -d ${DESTDIR} ] || ${MKDIR} -p ${DESTDIR} ${INSTALL_DOCS} ${.ALLSRC} ${DESTDIR} - +.endfor +.else .for _compressext in ${KNOWN_COMPRESS} -install-${_cf}.${_compressext}: ${DOC}.${_cf}.${_compressext} +install-${_curformat}.${_compressext}: ${DOC}.${_curformat}.${_compressext} @[ -d ${DESTDIR} ] || ${MKDIR} -p ${DESTDIR} ${INSTALL_DOCS} ${.ALLSRC} ${DESTDIR} +.if ${_cf} == "pdb" + ${LN} -f ${DESTDIR}/${.ALLSRC} \ + ${DESTDIR}/${.CURDIR:T}.${_curformat}.${_compressext} +.endif .endfor .endif .endif .endfor +# +# Build install- targets for any formats we've missed that we don't handle. +# + +.for _curformat in ${ALL_FORMATS} +.if !target(install-${_curformat}) +install-${_curformat}: + @${ECHO_CMD} \"${_curformat}\" is not a valid output format for this document. + +.for _compressext in ${KNOWN_COMPRESS} +install-${_curformat}.${_compressext}: + @${ECHO_CMD} \"${_curformat}.${_compressext}\" is not a valid output format for this document. +.endfor +.endif +.endfor + + # ------------------------------------------------------------------------ # # Package building @@ -653,22 +697,29 @@ .for _curformat in ${KNOWN_FORMATS} _cf=${_curformat} .if ${_cf} == "html-split" -package-${_curformat}: index.html - @${CP} HTML.manifest PLIST - @${ECHO_CMD} ${IMAGES_PNG} docbook.css | ${XARGS} -n1 >> PLIST -.elif ${_cf} == "html" -package-${curformat}: ${DOC}.html - @${ECHO_CMD} ${DOC}.${_curformat} ${IMAGES_PNG} docbook.css | \ - ${XARGS} -n1 > PLIST +PLIST.${_curformat}: index.html + @${SORT} HTML.manifest > PLIST.${_curformat} .else -package-${_curformat}: ${DOC}.${_curformat} - @${ECHO_CMD} ${DOC}.${_curformat} ${IMAGES_LIB} | ${XARGS} -n1 > PLIST +PLIST.${_curformat}: ${DOC}.${_curformat} + @${ECHO_CMD} ${DOC}.${_curformat} > PLIST.${_curformat} +.endif +.if (${_cf} == "html-split" || ${_cf} == "html") && \ + (!empty(LOCAL_IMAGES_LIB) || !empty(IMAGES_PNG) || !empty(CSS_SHEET)) + @${ECHO_CMD} ${LOCAL_IMAGES_LIB} ${IMAGES_PNG} ${LOCAL_CSS_SHEET} | \ + ${XARGS} -n1 >> PLIST.${_curformat} +.elif (${_cf} == "tex" || ${_cf} == "dvi") && !empty(IMAGES_EPS) + @${ECHO_CMD} ${IMAGES_EPS} | ${XARGS} -n1 >> PLIST.${_curformat} +.elif ${_cf} == "pdb" + @${ECHO_CMD} ${.CURDIR:T}.${_curformat} >> PLIST.${_curformat} .endif - @${PKG_CREATE} -v -f PLIST -p ${DESTDIR} -s . \ + +${PACKAGES}/${.CURDIR:T}.${LANGCODE}.${_curformat}.tgz: PLIST.${_cf} + @${PKG_CREATE} -v -f ${.ALLSRC} -p ${DESTDIR} -s ${.OBJDIR} \ -c -"FDP ${.CURDIR:T} ${_curformat} package" \ - -d -"FDP ${.CURDIR:T} ${_curformat} package" \ - ${PACKAGES}/${.CURDIR:T}.${LANGCODE}.${_curformat}.tgz + -d -"FDP ${.CURDIR:T} ${_curformat} package" ${.TARGET} + +package-${_curformat}: ${PACKAGES}/${.CURDIR:T}.${LANGCODE}.${_curformat}.tgz .endfor -docbook.css: ${CSS_SHEET} - ${CP} ${CSS_SHEET} ${.TARGET} +${LOCAL_CSS_SHEET}: ${CSS_SHEET} + ${CP} -p ${.ALLSRC} ${.TARGET} diff -ruN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ old/doc/share/mk/doc.html.mk new/doc/share/mk/doc.html.mk --- old/doc/share/mk/doc.html.mk Thu Oct 18 16:32:51 2001 +++ new/doc/share/mk/doc.html.mk Thu Oct 18 16:18:29 2001 @@ -65,6 +65,7 @@ PKG_CREATE?= /usr/sbin/pkg_create TAR?= /usr/bin/tar +XARGS?= /usr/bin/xargs TIDY?= ${PREFIX}/bin/tidy TIDYFLAGS?= -i -m -f /dev/null @@ -80,27 +81,30 @@ ZIP?= -9 ZIP_CMD?= ${PREFIX}/bin/zip -j ${ZIP} + # ------------------------------------------------------------------------ # .for _curformat in ${FORMATS} _cf=${_curformat} -.if ${_cf} == "html" -_docs+= ${DOC}.html -CLEANFILES+= ${DOC}.html -.elif ${_cf} == "txt" -_docs+= ${DOC}.txt -CLEANFILES+= ${DOC}.html ${DOC}.txt -.elif ${_cf} == "tar" -_docs+= ${DOC}.tar -.elif ${_cf} == "pdb" -_docs+= ${DOC}.pdb ${.CURDIR:T}.pdb -+CLEANFILES+= ${DOC}.pdb ${.CURDIR:T}.pdb -.else -# Create a 'bogus' doc for any other format we don't support. This is so + +# Create a 'bogus' doc for any format we support or not. This is so # that we can fake up a target for it later on, and this target can print # the warning message about the unsupported format. _docs+= ${DOC}.${_curformat} +CLEANFILES+= ${DOC}.${_curformat} +CLEANFILES+= PLIST.${_curformat} + +.if ${_cf} == "txt" +CLEANFILES+= ${LOCAL_CSS_SHEET} + +.elif ${_cf} == "txt" +CLEANFILES+= ${DOC}.html + +.elif ${_cf} == "pdb" +_docs+= ${.CURDIR:T}.pdb +CLEANFILES+= ${.CURDIR:T}.pdb + .endif .endfor @@ -115,24 +119,33 @@ .for _curformat in ${FORMATS} _cf=${_curformat} .for _curcomp in ${INSTALL_COMPRESSED} + .if ${_cf} != "html-split" _curinst+= install-${_curformat}.${_curcomp} _docs+= ${DOC}.${_curformat}.${_curcomp} CLEANFILES+= ${DOC}.${_curformat}.${_curcomp} + +.if ${_cf} == "pdb" +_docs+= ${.CURDIR:T}.${_curformat}.${_curcomp} +CLEANFILES+= ${.CURDIR:T}.${_curformat}.${_curcomp} + +.endif .endif .endfor .endfor .endif -.for _curimage in ${IMAGES_LIB} -LOCAL_IMAGES_LIB += ${LOCAL_IMAGES_LIB_DIR}/${_curimage} -.endfor +.if ${.OBJDIR} != ${.CURDIR} +LOCAL_CSS_SHEET= ${.OBJDIR}/${CSS_SHEET:T} +.else +LOCAL_CSS_SHEET= ${CSS_SHEET:T} +.endif .MAIN: all all: ${_docs} -${DOC}.html: ${SRCS} ${LOCAL_IMAGES_LIB} ${IMAGES_PNG} +${DOC}.html: ${SRCS} ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} ${LOCAL_CSS_SHEET} ${SGMLNORM} -c ${HTMLCATALOG} ${SRCS:S|^|${.CURDIR}/|} > ${.TARGET} .if !defined(NO_TIDY) -${TIDY} ${TIDYFLAGS} ${.TARGET} @@ -141,14 +154,22 @@ ${DOC}.txt: ${DOC}.html ${HTML2TXT} ${HTML2TXTFLAGS} ${.ALLSRC} > ${.TARGET} -${DOC}.pdb: ${DOC}.html - ${HTML2PDB} ${HTML2PDBFLAGS} ${.ALLSRC} ${.TARGET} +${DOC}.pdb: ${DOC}.html ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} + ${HTML2PDB} ${HTML2PDBFLAGS} ${DOC}.html ${.TARGET} ${.CURDIR:T}.pdb: ${DOC}.pdb - ${LN} -f ${DOC}.pdb ${.CURDIR:T}.pdb + ${LN} -f ${.ALLSRC} ${.TARGET} -${DOC}.tar: ${SRCS} - ${TAR} cf ${.TARGET} -C ${.CURDIR} ${.ALLSRC:S|${.CURDIR}/||} +.if defined(INSTALL_COMPRESSED) && !empty(INSTALL_COMPRESSED) +.for _curcomp in ${INSTALL_COMPRESSED} +${.CURDIR:T}.pdb.${_curcomp}: ${DOC}.pdb.${_curcomp} + ${LN} -f ${.ALLSRC} ${.TARGET} +.endfor +.endif + +${DOC}.tar: ${SRCS} ${LOCAL_IMAGES} ${LOCAL_CSS_SHEET} + ${TAR} cf ${.TARGET} -C ${.CURDIR} ${SRCS} \ + -C ${.OBJDIR} ${IMAGES} ${CSS_SHEET:T} # # Build targets for any formats we've missed that we don't handle. @@ -160,6 +181,7 @@ .endif .endfor + # ------------------------------------------------------------------------ # # Validation targets @@ -173,6 +195,7 @@ lint validate: ${NSGMLS} -s -c ${HTMLCATALOG} ${MASTERDOC} + # ------------------------------------------------------------------------ # # Compress targets @@ -250,10 +273,12 @@ .for _curformat in ${KNOWN_FORMATS} _cf=${_curformat} .if !target(install-${_cf}) -install-${_cf}: ${DOC}.${_cf} +install-${_curformat}: ${DOC}.${_curformat} @[ -d ${DESTDIR} ] || ${MKDIR} -p ${DESTDIR} ${INSTALL_DOCS} ${.ALLSRC} ${DESTDIR} - ${INSTALL_DOCS} ${.CURDIR}/${CSS_SHEET} ${DESTDIR} +.if !empty(CSS_SHEET) + ${INSTALL_DOCS} ${CSS_SHEET} ${DESTDIR} +.endif .for _curimage in ${IMAGES_LIB} @[ -d ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} ] || \ ${MKDIR} -p ${DESTDIR}/${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} @@ -271,6 +296,9 @@ .for _curimage in ${IMAGES_PNG:N*/*} ${INSTALL_DOCS} ${.CURDIR}/${_curimage} ${DESTDIR} .endfor +.if ${_cf} == "pdb" + ${LN} -f ${DESTDIR}/${.ALLSRC} ${DESTDIR}/${.CURDIR:T}.${_curformat} +.endif .for _compressext in ${KNOWN_COMPRESS} install-${_cf}.${_compressext}: ${DOC}.${_cf}.${_compressext} @@ -296,6 +324,7 @@ .endif .endfor + # ------------------------------------------------------------------------ # # Package building @@ -321,10 +350,34 @@ .for _curformat in ${KNOWN_FORMATS} _cf=${_curformat} -package-${_curformat}: install-${_curformat} - @${ECHO_CMD} ${DOC}.${_curformat} > PLIST - @${PKG_CREATE} -v -f PLIST -p ${DESTDIR} \ +PLIST.${_curformat}: ${DOC}.${_curformat} + @${ECHO_CMD} ${DOC}.${_curformat} > PLIST.${_curformat} +.if ${_cf} == "html" && \ + (!empty(LOCAL_IMAGES_LIB) || !empty(IMAGES_PNG) || !empty(CSS_SHEET)) + @${ECHO_CMD} ${LOCAL_IMAGES_LIB} ${IMAGES_PNG} ${CSS_SHEET} | \ + ${XARGS} -n1 >> PLIST.${_curformat} +.elif ${_cf} == "pdb" + @${ECHO_CMD} ${.CURDIR:T}.${_curformat} >> PLIST.${_curformat} +.endif + +${PACKAGES}/${.CURDIR:T}.${LANGCODE}.${_curformat}.tgz: PLIST.${_curformat} + @${PKG_CREATE} -v -f PLIST.${_curformat} -p ${DESTDIR} -s ${.OBJDIR} \ -c -"FDP ${.CURDIR:T} ${_curformat} package" \ - -d -"FDP ${.CURDIR:T} ${_curformat} package" \ - ${PACKAGES}/${.CURDIR:T}.${LANGCODE}.${_curformat}.tgz + -d -"FDP ${.CURDIR:T} ${_curformat} package" ${.TARGET} + +package-${_curformat}: ${PACKAGES}/${.CURDIR:T}.${LANGCODE}.${_curformat}.tgz .endfor + +# +# Build install- targets for any formats we've missed that we don't handle. +# + +.for _curformat in ${ALL_FORMATS} +.if !target(package-${_curformat}) +package-${_curformat}: + @${ECHO_CMD} \"${_curformat}\" is not a valid output format for this document. +.endif +.endfor + +${LOCAL_CSS_SHEET}: ${CSS_SHEET} + ${CP} -p ${.ALLSRC} ${.TARGET} diff -ruN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ old/doc/share/mk/doc.images.mk new/doc/share/mk/doc.images.mk --- old/doc/share/mk/doc.images.mk Thu Oct 18 16:32:51 2001 +++ new/doc/share/mk/doc.images.mk Thu Oct 18 16:18:29 2001 @@ -47,14 +47,42 @@ # to PDF, and hopefully get better quality. # -IMAGES_GEN_PNG=${IMAGES:M*.eps:S/.eps$/.png/} -IMAGES_GEN_EPS=${IMAGES:M*.png:S/.png$/.eps/} -IMAGES_GEN_PDF=${IMAGES:M*.eps:S/.eps$/.pdf/} +_IMAGES_PNG= ${IMAGES:M*.png} +_IMAGES_EPS= ${IMAGES:M*.eps} +_IMAGES_SCR= ${IMAGES:M*.scr} + +IMAGES_GEN_PNG= ${_IMAGES_EPS:S/.eps$/.png/} +IMAGES_GEN_EPS= ${_IMAGES_PNG:S/.png$/.eps/} +IMAGES_GEN_PDF= ${_IMAGES_EPS:S/.eps$/.pdf/} +IMAGES_SCR_PNG= ${_IMAGES_SCR:S/.scr$/.png/} +IMAGES_SCR_EPS= ${_IMAGES_SCR:S/.scr$/.eps/} CLEANFILES+= ${IMAGES_GEN_PNG} ${IMAGES_GEN_EPS} ${IMAGES_GEN_PDF} +CLEANFILES+= ${IMAGES_SCR_PNG} ${IMAGES_SCR_EPS} -IMAGES_PNG=${IMAGES:M*.png} ${IMAGES_GEN_PNG} ${IMAGES:M*.scr:S/.scr$/.png/} -IMAGES_EPS=${IMAGES:M*.eps} ${IMAGES_GEN_EPS} ${IMAGES:M*.scr:S/.scr$/.eps/} +IMAGES_PNG= ${_IMAGES_PNG} ${IMAGES_GEN_PNG} ${IMAGES_SCR_PNG} +IMAGES_EPS= ${_IMAGES_EPS} ${IMAGES_GEN_EPS} ${IMAGES_SCR_EPS} + +.if ${.OBJDIR} != ${.CURDIR} +LOCAL_IMAGES= ${IMAGES:S|^|${.OBJDIR}/|} +CLEANFILES+= ${LOCAL_IMAGES} + +.if !empty(_IMAGES_PNG) +LOCAL_IMAGES_PNG= ${_IMAGES_PNG:S|^|${.OBJDIR}/|} +.endif + +.if !empty(_IMAGES_EPS) +LOCAL_IMAGES_EPS= ${_IMAGES_EPS:S|^|${.OBJDIR}/|} +.endif + +.else +LOCAL_IMAGES= ${IMAGES} +LOCAL_IMAGES_PNG= ${_IMAGES_PNG} +LOCAL_IMAGES_EPS= ${_IMAGES_EPS} +.endif + +LOCAL_IMAGES_PNG+= ${IMAGES_GEN_PNG} ${IMAGES_SCR_PNG} +LOCAL_IMAGES_EPS+= ${IMAGES_GEN_EPS} ${IMAGES_SCR_EPS} # The default resolution eps2png (82) assumes a 640x480 monitor, and is too # low for the typical monitor in use today. The resolution of 100 looks @@ -101,8 +129,15 @@ .for _curimage in ${IMAGES_GEN_PDF} ${_curimage}: ${_curimage:S/.pdf$/.eps/} - ${EPSTOPDF} --outfile=${.TARGET} ${_curimage:S/.pdf$/.eps/} + ${EPSTOPDF} --outfile=${.TARGET} ${.CURDIR}/${_curimage:S/.pdf$/.eps/} +.endfor + +.if ${.OBJDIR} != ${.CURDIR} +.for _curimage in ${IMAGES} +${.OBJDIR}/${_curimage}: ${_curimage} + ${CP} -p ${.ALLSRC} ${.TARGET} .endfor +.endif # # Using library images @@ -120,6 +155,9 @@ # as necessary. # +IMAGES_LIB?= +LOCAL_IMAGES_LIB ?= + # # The name of the directory that contains all the library images for this # language and encoding @@ -140,10 +178,16 @@ # ensures that each image required is copied from its location in # ${IMAGES_LIB_DIR} to the same place in ${LOCAL_IMAGES_LIB_DIR}. # + .for _curimage in ${IMAGES_LIB} +LOCAL_IMAGES_LIB += ${LOCAL_IMAGES_LIB_DIR}/${_curimage} ${LOCAL_IMAGES_LIB_DIR}/${_curimage}: ${IMAGES_LIB_DIR}/${_curimage} @[ -d ${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} ] || \ - ${MKDIR} -p ${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} - ${INSTALL_DOCS} ${IMAGES_LIB_DIR}/${_curimage} \ - ${LOCAL_IMAGES_LIB_DIR}/${_curimage} + ${MKDIR} ${LOCAL_IMAGES_LIB_DIR}/${_curimage:H} + ${CP} -p ${IMAGES_LIB_DIR}/${_curimage} \ + ${LOCAL_IMAGES_LIB_DIR}/${_curimage} .endfor + +.if !empty(IMAGES_LIB) +CLEANFILES+= ${IMAGES_LIB:S|^|${LOCAL_IMAGES_LIB_DIR}/|} +.endif diff -ruN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ old/doc/share/mk/doc.install.mk new/doc/share/mk/doc.install.mk --- old/doc/share/mk/doc.install.mk Thu Oct 18 16:32:47 2001 +++ new/doc/share/mk/doc.install.mk Thu Oct 18 16:18:29 2001 @@ -80,7 +80,7 @@ .if exists(${DOC_PREFIX}/packages) PACKAGES?= ${DOC_PREFIX}/packages .else -PACKAGES?= ${.CURDIR} +PACKAGES?= ${.OBJDIR} .endif # hack to set DOCOWN and DOCGRP to those of the user installing, if that @@ -105,3 +105,19 @@ INSTALL_DOCS?= \ ${INSTALL} ${COPY} ${INSTALL_FLAGS} -o ${DOCOWN} -g ${DOCGRP} -m ${DOCMODE} +# ------------------------------------------------------------------------ +# +# Work out the language and encoding used for this document. +# +# Liberal default of maximum of 5 directories below to find it. +# + +.if !defined(LANGCODE) +LANGCODE:= ${.CURDIR} +.for _ in 1 2 3 4 5 6 7 8 9 10 +.if !(${LANGCODE:H:T} == "doc") +LANGCODE:= ${LANGCODE:H} +.endif +.endfor +LANGCODE:= ${LANGCODE:T} +.endif diff -ruN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ old/doc/share/mk/doc.project.mk new/doc/share/mk/doc.project.mk --- old/doc/share/mk/doc.project.mk Thu Oct 18 16:32:47 2001 +++ new/doc/share/mk/doc.project.mk Thu Oct 18 16:18:29 2001 @@ -70,7 +70,7 @@ CP?= /bin/cp LN?= /bin/ln -MKDIR?= /bin/mkdir +MKDIR?= /bin/mkdir -p RM?= /bin/rm MV?= /bin/mv @@ -78,6 +78,9 @@ # be listed first). .include "doc.images.mk" +# Ownership information. +.include "doc.install.mk" + # Format-specific configuration .if defined(DOC) .if ${DOCFORMAT} == "docbook" @@ -88,7 +91,5 @@ .endif .endif -# Subdirectory glue and ownership information. +# Subdirectory glue. .include "doc.subdir.mk" -.include "doc.install.mk" - diff -ruN -x CVS -x work -x *~ -x *.orig -x *.rej -I $Id.*$ -I $FreeBSD.*$ old/doc/share/mk/doc.subdir.mk new/doc/share/mk/doc.subdir.mk --- old/doc/share/mk/doc.subdir.mk Thu Oct 18 16:32:47 2001 +++ new/doc/share/mk/doc.subdir.mk Thu Oct 18 16:18:29 2001 @@ -51,23 +51,6 @@ .include "${.CURDIR}/../Makefile.inc" .endif -# ------------------------------------------------------------------------ -# -# Work out the language and encoding used for this document. -# -# Liberal default of maximum of 5 directories below to find it. -# - -.if !defined(LANGCODE) -LANGCODE:= ${.CURDIR} -.for _ in 1 2 3 4 5 6 7 8 9 10 -.if !(${LANGCODE:H:T} == "doc") -LANGCODE:= ${LANGCODE:H} -.endif -.endfor -LANGCODE:= ${LANGCODE:T} -.endif - .if !target(install) install: afterinstall symlinks afterinstall: realinstall @@ -78,7 +61,8 @@ realpackage: _SUBDIRUSE .if !defined(IGNORE_COMPAT_SYMLINK) && defined(COMPAT_SYMLINK) -SYMLINKS+= ${DOCDIR} ${.CURDIR:T:ja_JP.eucJP=ja} ${COMPAT_SYMLINK:ja=ja_JP.eucJP} +SYMLINKS+= ${DOCDIR} ${.CURDIR:T:ja_JP.eucJP=ja} \ + ${COMPAT_SYMLINK:ja=ja_JP.eucJP} .endif .if defined(PRI_LANG) && defined(ROOT_SYMLINKS) && !empty(ROOT_SYMLINKS) Cyrille. -- Cyrille Lefevre mailto:clefevre@citeweb.net To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-doc" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200110181450.f9IEo1g15013>