Improve the docbook build infrastructure's index.sgml build process:
- Consider index.sgml as intermediate file, not dependency that ${DOC}.*
require. Instead, generate it on-the-fly when building ${DOC}.*.
This solves the problem that index.sgml is generated for the first
built target, but needs to be different from target to target.
The affected targets are:
index.html HTML.manifest
${DOC}.html
${DOC}.html-text
${DOC}.rtf
${DOC}.tex
${DOC}.tex-pdf
${INDEX_SGML} target removed in favor of the on-the-fly build.
- When building ${DOC}.rtf, add ${PRINT_INDEX} and ${LOCAL_IMAGES_PNG}
as dependencies, eliminating the need of building ${DOC}.rtf without
having to build ${DOC}.html beforehand.
- Modifications against ${HTML_INDEX} and ${HTML_SPLIT_INDEX}:
+ Add dependency to ${SRCS} and ${LOCAL_IMAGES_TXT} to force
index updates when necessary.
+ Every build now causes index.sgml to be reinitialized.
+ Depend on ${DOC}.* to generate index.sgml.
Submitted by: "intron" <intron at intron ac>
PR: docs/90255 (slightly changed version)
This commit is contained in:
parent
71dc23866d
commit
f16a0c0531
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=26584
1 changed files with 29 additions and 17 deletions
|
|
@ -429,7 +429,6 @@ CLEANFILES+= ${.CURDIR:T}.${_curformat}.${_curcomp}
|
|||
#
|
||||
# Index generation
|
||||
#
|
||||
CLEANFILES+= ${INDEX_SGML}
|
||||
|
||||
.if defined(GEN_INDEX) && defined(HAS_INDEX)
|
||||
JADEFLAGS+= -i chap.index
|
||||
|
|
@ -438,7 +437,12 @@ HTML_INDEX?= html.index
|
|||
PRINT_INDEX?= print.index
|
||||
INDEX_SGML?= index.sgml
|
||||
|
||||
CLEANFILES+= ${HTML_SPLIT_INDEX} ${HTML_INDEX} ${PRINT_INDEX}
|
||||
CLEANFILES+= ${INDEX_SGML} ${HTML_SPLIT_INDEX} ${HTML_INDEX} ${PRINT_INDEX}
|
||||
|
||||
INIT_INDEX_SGML_CMD?= ${PERL} ${COLLATEINDEX} -i doc-index -N -o ${INDEX_SGML}
|
||||
GEN_INDEX_SGML_CMD?= ${PERL} ${COLLATEINDEX} -i doc-index -g -o ${INDEX_SGML} ${.ALLSRC:M*.index}
|
||||
.else
|
||||
GEN_INDEX_SGML_CMD?= @${ECHO} "No index to generate."
|
||||
.endif
|
||||
|
||||
.MAIN: all
|
||||
|
|
@ -462,12 +466,14 @@ ${DOC}.xml: ${SRCS}
|
|||
|
||||
.if ${STYLESHEET_TYPE} == "dsssl"
|
||||
index.html HTML.manifest: ${SRCS} ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} \
|
||||
${LOCAL_IMAGES_TXT} ${INDEX_SGML} ${HTML_SPLIT_INDEX} ${LOCAL_CSS_SHEET}
|
||||
${LOCAL_IMAGES_TXT} ${HTML_SPLIT_INDEX} ${LOCAL_CSS_SHEET}
|
||||
${GEN_INDEX_SGML_CMD}
|
||||
${JADE_CMD} -V html-manifest ${HTMLOPTS} -ioutput.html.images \
|
||||
${JADEOPTS} -t sgml ${MASTERDOC}
|
||||
.elif ${STYLESHEET_TYPE} == "xsl"
|
||||
index.html: ${DOC}.xml ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} \
|
||||
${INDEX_SGML} ${HTML_SPLIT_INDEX} ${LOCAL_CSS_SHEET}
|
||||
${HTML_SPLIT_INDEX} ${LOCAL_CSS_SHEET}
|
||||
${GEN_INDEX_SGML_CMD}
|
||||
${XSLTPROC} ${XSLTPROCOPTS} --param freebsd.output.html.images "'1'" ${XSLHTMLCHUNK} \
|
||||
${DOC}.xml
|
||||
.endif
|
||||
|
|
@ -479,13 +485,15 @@ index.html: ${DOC}.xml ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} \
|
|||
|
||||
.if ${STYLESHEET_TYPE} == "dsssl"
|
||||
${DOC}.html: ${SRCS} ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} \
|
||||
${LOCAL_IMAGES_TXT} ${INDEX_SGML} ${HTML_INDEX} ${LOCAL_CSS_SHEET}
|
||||
${LOCAL_IMAGES_TXT} ${HTML_INDEX} ${LOCAL_CSS_SHEET}
|
||||
${GEN_INDEX_SGML_CMD}
|
||||
${JADE_CMD} -V nochunks ${HTMLOPTS} -ioutput.html.images \
|
||||
${JADEOPTS} -t sgml ${MASTERDOC} > ${.TARGET} || \
|
||||
(${RM} -f ${.TARGET} && false)
|
||||
.elif ${STYLESHEET_TYPE} == "xsl"
|
||||
${DOC}.html: ${DOC}.xml ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} \
|
||||
${INDEX_SGML} ${LOCAL_CSS_SHEET}
|
||||
${LOCAL_CSS_SHEET}
|
||||
${GEN_INDEX_SGML_CMD}
|
||||
${XSLTPROC} ${XSLTPROCOPTS} --param freebsd.output.html.images "'1'" ${XSLHTML} \
|
||||
${DOC}.xml > ${.TARGET}
|
||||
.endif
|
||||
|
|
@ -497,12 +505,14 @@ ${DOC}.html: ${DOC}.xml ${LOCAL_IMAGES_LIB} ${LOCAL_IMAGES_PNG} \
|
|||
|
||||
# Special target to produce HTML with no images in it.
|
||||
.if ${STYLESHEET_TYPE} == "dsssl"
|
||||
${DOC}.html-text: ${SRCS} ${INDEX_SGML} ${HTML_INDEX} ${LOCAL_IMAGES_TXT}
|
||||
${DOC}.html-text: ${SRCS} ${HTML_INDEX} ${LOCAL_IMAGES_TXT}
|
||||
${GEN_INDEX_SGML_CMD}
|
||||
${JADE_CMD} -V nochunks ${HTMLTXTOPTS} \
|
||||
${JADEOPTS} -t sgml ${MASTERDOC} > ${.TARGET} || \
|
||||
(${RM} -f ${.TARGET} && false)
|
||||
.elif ${STYLESHEET_TYPE} == "xsl"
|
||||
${DOC}.html-text: ${DOC}.xml ${INDEX_SGML} ${HTML_INDEX}
|
||||
${DOC}.html-text: ${DOC}.xml ${HTML_INDEX}
|
||||
${GEN_INDEX_SGML_CMD}
|
||||
${XSLTPROC} ${XSLTPROCOPTS} --param freebsd.output.html.images "'0'" ${XSLHTML} \
|
||||
${DOC}.xml > ${.TARGET}
|
||||
.endif
|
||||
|
|
@ -558,7 +568,9 @@ NO_TEX= yes
|
|||
# RTF --------------------------------------------------------------------
|
||||
|
||||
.if !defined(NO_TEX)
|
||||
${DOC}.rtf: ${SRCS} ${LOCAL_IMAGES_EPS} ${LOCAL_IMAGES_TXT}
|
||||
${DOC}.rtf: ${SRCS} ${LOCAL_IMAGES_EPS} ${PRINT_INDEX} \
|
||||
${LOCAL_IMAGES_TXT} ${LOCAL_IMAGES_PNG}
|
||||
${GEN_INDEX_SGML_CMD}
|
||||
${JADE_CMD} -V rtf-backend ${PRINTOPTS} -ioutput.rtf.images \
|
||||
${JADEOPTS} -t rtf -o ${.TARGET} ${MASTERDOC}
|
||||
|
||||
|
|
@ -576,8 +588,9 @@ ${DOC}.rtf.tar: ${DOC}.rtf ${LOCAL_IMAGES_PNG}
|
|||
# format, which will then lead on to a different .dvi file as well.
|
||||
#
|
||||
|
||||
${DOC}.tex: ${SRCS} ${LOCAL_IMAGES_EPS} ${INDEX_SGML} ${PRINT_INDEX} \
|
||||
${DOC}.tex: ${SRCS} ${LOCAL_IMAGES_EPS} ${PRINT_INDEX} \
|
||||
${LOCAL_IMAGES_TXT} ${LOCAL_IMAGES_EN}
|
||||
${GEN_INDEX_SGML_CMD}
|
||||
${JADE_CMD} -V tex-backend ${PRINTOPTS} \
|
||||
${JADEOPTS} -t tex -o ${.TARGET} ${MASTERDOC}
|
||||
|
||||
|
|
@ -585,8 +598,9 @@ ${DOC}.tex-ps: ${DOC}.tex
|
|||
${LN} -f ${.ALLSRC} ${.TARGET}
|
||||
|
||||
.if !target(${DOC}.tex-pdf)
|
||||
${DOC}.tex-pdf: ${SRCS} ${IMAGES_PDF} ${INDEX_SGML} ${PRINT_INDEX} \
|
||||
${DOC}.tex-pdf: ${SRCS} ${IMAGES_PDF} ${PRINT_INDEX} \
|
||||
${LOCAL_IMAGES_TXT}
|
||||
${GEN_INDEX_SGML_CMD}
|
||||
${RM} -f ${.TARGET}
|
||||
${CAT} ${PDFTEX_DEF} > ${.TARGET}
|
||||
${JADE_CMD} -V tex-backend ${PRINTOPTS} -ioutput.print.pdf \
|
||||
|
|
@ -676,18 +690,16 @@ lint validate:
|
|||
# an empty index.sgml file so that we can reference index.sgml in book.sgml
|
||||
#
|
||||
|
||||
${INDEX_SGML}:
|
||||
${PERL} ${COLLATEINDEX} -i doc-index -N -o ${.TARGET}
|
||||
|
||||
${HTML_INDEX}:
|
||||
${HTML_INDEX}: ${SRCS} ${LOCAL_IMAGES_TXT}
|
||||
${INIT_INDEX_SGML_CMD}
|
||||
${JADE_CMD} -V html-index -V nochunks ${HTMLOPTS} -ioutput.html.images \
|
||||
${JADEOPTS} -t sgml ${MASTERDOC} > /dev/null
|
||||
${PERL} ${COLLATEINDEX} -i doc-index -g -o ${INDEX_SGML} ${.TARGET}
|
||||
|
||||
${HTML_SPLIT_INDEX}:
|
||||
${HTML_SPLIT_INDEX}: ${SRCS} ${LOCAL_IMAGES_TXT}
|
||||
${INIT_INDEX_SGML_CMD}
|
||||
${JADE_CMD} -V html-index ${HTMLOPTS} -ioutput.html.images \
|
||||
${JADEOPTS} -t sgml ${MASTERDOC} > /dev/null
|
||||
${PERL} ${COLLATEINDEX} -i doc-index -g -o ${INDEX_SGML} ${.TARGET}
|
||||
|
||||
.if !target(${PRINT_INDEX})
|
||||
${PRINT_INDEX}: ${HTML_INDEX}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue