From 12248e4c3d6df32aea3a0eba0d771aaa42ebbf1e Mon Sep 17 00:00:00 2001 From: Martin Goik <goik@hdm-stuttgart.de> Date: Fri, 19 May 2017 13:04:06 +0200 Subject: [PATCH] common make rules --- Doc/Makefile | 167 +------------------------- Doc/lectures.xml | 18 +-- ws/Docbook/Extensions/Tdata/Makefile | 167 +------------------------- ws/Docbook/Preprocess/make.rules | 172 +++++++++++++++++++++++++++ 4 files changed, 183 insertions(+), 341 deletions(-) create mode 100644 ws/Docbook/Preprocess/make.rules diff --git a/Doc/Makefile b/Doc/Makefile index f723aedf6..b354defb5 100644 --- a/Doc/Makefile +++ b/Doc/Makefile @@ -1,171 +1,6 @@ -SHELL = /bin/bash - SCRIPTBASENAME=lectures -BUILDROOT=target - -#+++ no changes below this line ++++++++++++++++++++++++++++++++++++ -# -DIR := ${CURDIR} -numCores=$(shell nproc --all) - -BUILDROOT_PROFILE=${BUILDROOT}/profile -BUILDROOT_WEBHELP=${BUILDROOT}/webhelp -BUILDROOT_EPUB=${BUILDROOT}/epub DBOOK=/usr/share/hdm-docbook-xsl -DBOOK_XSL=${DBOOK}/docbook-xsl -DBOOK_XSL_CUSTOM=${DBOOK}/CustomLayer DBOOK_XSL_PREPROCESS=${DBOOK}/Preprocess -# Common Docbook transformation parameter -dbookXslCommonParam=\ -keep.relative.image.uris=0 \ -callout.graphics=0 \ -callout.unicode=1 \ -graphicsize.use.img.src.path=1 \ -highlight.source=1 \ -id.warnings=1 \ -olink.debug=1 - -# Pdf related Docbook transformation parameter -dbookXslPdfParam=${dbookXslCommonParam} \ -fop1.extensions=1 \ -paper.type=A4 - -# Slide related Docbook transformation parameter -dbookXslSlideParam=${dbookXslCommonParam} - -# Epub related Docbook transformation parameter -dbookXslEpubParam=${dbookXslCommonParam} \ -generate.manifest=1 \ -base.dir=. - -# Webhelp related Docbook transformation parameter -dbookXslWebhelpParam=${dbookXslCommonParam} \ -generate.toc='appendix toc,title \ -article/appendix nop \ -article toc,title \ -book toc,title,figure,table,example,equation \ -chapter toc,title \ -appendix toc,title \ -part toc,title \ -preface toc,title \ -reference toc,title \ -sect1 toc \ -sect2 toc \ -sect3 toc \ -sect4 toc \ -sect5 toc \ -section toc \ -set toc,title' \ -webhelp.base.dir=. - -# Required for docbook Xsl 1.0 based stylesheets -SAXON6CMD=java -cp "${DBOOK_XSL}/extensions/saxon65.jar:${DBOOK_XSL}/tools/lib/saxon.jar:${DBOOK}/lib/xslthl-2.1.3.jar" \ - '-Dxslthl.config=file://${DBOOK_XSL}/highlighting/xslthl-config.xml' \ - com.icl.saxon.StyleSheet - -# XSL 2.0 processor -SAXONCMD=java -cp "${DBOOK_XSL}/tools/lib/saxon9he.jar:/usr/share/java/xercesImpl.jar:${DBOOK}/lib/xslthl-2.1.3.jar" \ --Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl \ - -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl \ - -Dorg.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers.XIncludeParserConfiguration \ - -Dxslthl.config=file://${DBOOK_XSL}/highlighting/xslthl-config.xml \ - net.sf.saxon.Transform - -# Docbook related build rules -# -# Basic profiling -%.print.xml %.html.xml: %.xml - mkdir -p $(@D); ln -sf /usr/share/hdmwebhelp/extern $(@D)/.. - ${SAXONCMD} -s:$(<F) \ - -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2docbook.xsl > ${*}.xml - ${SAXONCMD} -s:$*.xml \ - -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2html.xsl > ${*}.html.xml - ${SAXONCMD} -s:$*.xml \ - -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2slide.xsl > ${*}.slide.xml - ${SAXONCMD} -s:$*.xml \ - -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2print.xsl > ${*}.print.xml - cd $(@D); ${SAXONCMD} -s:$(<F) -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbookExtractFig.xsl - tar cv- `find . -name Ref -and -type d|grep -v ^\./target`|tar -x -C $(@D) - cp -f ${DBOOK_XSL_PREPROCESS}/make.image $(@D) - cd $(@D); $(MAKE) -j ${numCores} -f make.image; rm -rf `find . -name Generate` - -# Webhelp and indexing -%.webhelp: %.html.xml - ${SAXON6CMD} $< ${DBOOK_XSL_CUSTOM}/webhelp/webhelpHdm.xsl ${dbookXslWebhelpParam} - rsync -a ${DBOOK_XSL}/webhelp/template/* . # Images, Css - cat ${DBOOK_XSL_CUSTOM}/webhelp/common/css/positioning.supp.css >> common/css/positioning.css # highlighting supplements - cp ${DBOOK_XSL_CUSTOM}/webhelp/common/images/hdmlogo.svg common/images - cp ${DBOOK_XSL_CUSTOM}/webhelp/common/images/favicon.ico . - rsync -a --exclude='.git' /usr/share/hdmwebhelp/extern/libs/mathjax . - cd ${DBOOK_XSL}/webhelp/template/search; \ - cp nwSearchFnt.js default.props punctuation.props en-us.props stemmers/en_stemmer.js \ - ${DIR}/search - java \ - -DhtmlDir=. \ - '-DindexerLanguage=en' \ - '-DhtmlExtension=html' \ - '-DdoStem=true' \ - '-DtocFile=$${toc.file}' \ - '-DindexerExcludedFiles=index.html' \ - '-Dorg.xml.sax.driver=org.ccil.cowan.tagsoup.Parser' \ - '-Djavax.xml.parsers.SAXParserFactory=org.ccil.cowan.tagsoup.jaxp.SAXFactoryImpl' \ - -cp '${DBOOK_XSL}/extensions/webhelpindexer.jar:${DBOOK_XSL}/extensions/lucene-analyzers-3.0.0.jar:${DBOOK_XSL}/extensions/lucene-core-3.0.0.jar:${DBOOK_XSL}/extensions/tagsoup-1.2.1.jar' \ - com.nexwave.nquindexer.IndexerMain - touch $*.webhelp - -# Epub -%.epub: %.html.xml - ${SAXON6CMD} $< ${DBOOK_XSL_CUSTOM}/epub/chunkHdm.xsl ${dbookXslEpubParam} - cd ..; rm -rf mimetype META-INF ${*}.epub - rsync -av --delete ${DBOOK_XSL}/images OEBPS # Images, Css - cat ${DBOOK_XSL_CUSTOM}/webhelp/common/css/positioning.supp.css >> OEBPS/docbook-epub.css # highlighting supplements - zip -rX ${*}.epub mimetype META-INF OEBPS - -%.slide: %.slide.xml - ${SAXONCMD} -s:$< -xsl:${DBOOK_XSL_CUSTOM}/slide/slideHdm.xsl ${dbookXslSlideParam} - rsync -a /usr/share/reveal.js . - touch $*.slide - -# PDF -# See http://stackoverflow.com/questions/39786947/how-to-convert-to-pdf-from-xsl-fo-with-mathml/39796975 -%.pdf: %.print.xml - ${SAXON6CMD} $*.print.xml ${DBOOK_XSL_CUSTOM}/pdf/docbookHdm.xsl ${dbookXslPdfParam} > $*.fo - /usr/share/hdm-fop/fop-2.2/fop/fop -fo $*.fo -pdf ${*}.pdf - -all: ${BUILDROOT}/${SCRIPTBASENAME}.zip ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.epub ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.pdf - -${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.print.xml \ -${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.html.xml \ -${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.xml: ${SCRIPTBASENAME}.xml - -${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.xml \ -${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml \ -${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.print.xml :\ - ${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.html.xml - rsync -a --delete ${BUILDROOT_PROFILE}/* ${BUILDROOT_WEBHELP} - -${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.webhelp: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml - cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile ${SCRIPTBASENAME}.webhelp - -${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.epub: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml - mkdir -p ${BUILDROOT_WEBHELP}/OEBPS - rsync -a ${BUILDROOT_PROFILE}/* ${BUILDROOT_WEBHELP}/OEBPS - cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile ${SCRIPTBASENAME}.epub - -${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.slide: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml - cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile ${SCRIPTBASENAME}.slide - -${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.pdf: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.print.xml - cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile ${SCRIPTBASENAME}.pdf - - -${BUILDROOT}/${SCRIPTBASENAME}.zip:${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.webhelp \ - ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.slide - cd ${BUILDROOT}; zip -r ${SCRIPTBASENAME}.zip --exclude=webhelp/OEBPS/\* \ - --exclude=${SCRIPTBASENAME}.epub --exclude=${SCRIPTBASENAME}.pdf webhelp - -clean: - rm -rf ${BUILDROOT} -#end +include ${DBOOK_XSL_PREPROCESS}/make.rules diff --git a/Doc/lectures.xml b/Doc/lectures.xml index 23f2f22fa..b26d6de64 100644 --- a/Doc/lectures.xml +++ b/Doc/lectures.xml @@ -80,7 +80,7 @@ <listitem xml:id="prefaceFormatEpub"> <para><filename - xlink:href="https://freedocs.mi.hdm-stuttgart.de/webhelp/lectures.epub">lectures.epub</filename> + xlink:href="https://freedocs.mi.hdm-stuttgart.de/lectures.epub">lectures.epub</filename> featuring the <xref linkend="glo_EPUB"/> 3 format containing <xref linkend="glo_SVG"/> images and MathML formulas based on <link xlink:href="https://www.mathjax.org">MathJax JavaScript</link> @@ -108,15 +108,15 @@ </listitem> <listitem> - <para>The author very much welcomes hints to appropriate software - accessing these pages.</para> + <para>The author very much welcomes hints to appropriate <xref + linkend="glo_EPUB"/> reader software accessing these pages.</para> </listitem> </itemizedlist> </listitem> <listitem xml:id="prefaceFormatPdf"> <para><filename - xlink:href="https://freedocs.mi.hdm-stuttgart.de/webhelp/lectures.pdf">printversion.pdf</filename> + xlink:href="https://freedocs.mi.hdm-stuttgart.de/lectures.pdf">lectures.pdf</filename> featuring the <xref linkend="glo_PDF"/> format (hopefully) providing improved printout typography.</para> @@ -129,12 +129,12 @@ <listitem xml:id="prefaceFormatZip"> <para>Self contained zip archive <link - xlink:href="https://freedocs.mi.hdm-stuttgart.de/webhelp/lectures.zip">lectures.zip</link> - of above offline resources including <filename - xlink:href="https://freedocs.mi.hdm-stuttgart.de/webhelp/printversion.pdf">printversion.pdf</filename> + xlink:href="https://freedocs.mi.hdm-stuttgart.de/lectures.zip">lectures.zip</link> + of above resources for offline usage excluding <filename + xlink:href="https://freedocs.mi.hdm-stuttgart.de/lectures.pdf">lectures.pdf</filename> and <filename - xlink:href="https://freedocs.mi.hdm-stuttgart.de/webhelp/lectures.epub">lectures.epub</filename> - for offline usage.</para> + xlink:href="https://freedocs.mi.hdm-stuttgart.de/lectures.epub">lectures.epub</filename> + .</para> </listitem> </itemizedlist> </preface> diff --git a/ws/Docbook/Extensions/Tdata/Makefile b/ws/Docbook/Extensions/Tdata/Makefile index f16ad8b30..1e8541b41 100644 --- a/ws/Docbook/Extensions/Tdata/Makefile +++ b/ws/Docbook/Extensions/Tdata/Makefile @@ -1,171 +1,6 @@ -SHELL = /bin/bash - SCRIPTBASENAME=fig -BUILDROOT=target - -#+++ no changes below this line ++++++++++++++++++++++++++++++++++++ -# -DIR := ${CURDIR} -numCores=$(shell nproc --all) - -BUILDROOT_PROFILE=${BUILDROOT}/profile -BUILDROOT_WEBHELP=${BUILDROOT}/webhelp -BUILDROOT_EPUB=${BUILDROOT}/epub DBOOK=/usr/share/hdm-docbook-xsl -DBOOK_XSL=${DBOOK}/docbook-xsl -DBOOK_XSL_CUSTOM=${DBOOK}/CustomLayer DBOOK_XSL_PREPROCESS=${DBOOK}/Preprocess -# Common Docbook transformation parameter -dbookXslCommonParam=\ -keep.relative.image.uris=0 \ -callout.graphics=0 \ -callout.unicode=1 \ -graphicsize.use.img.src.path=1 \ -highlight.source=1 \ -id.warnings=1 \ -olink.debug=1 - -# Pdf related Docbook transformation parameter -dbookXslPdfParam=${dbookXslCommonParam} \ -fop1.extensions=1 \ -paper.type=A4 - -# Slide related Docbook transformation parameter -dbookXslSlideParam=${dbookXslCommonParam} - -# Epub related Docbook transformation parameter -dbookXslEpubParam=${dbookXslCommonParam} \ -generate.manifest=1 \ -base.dir=. - -# Webhelp related Docbook transformation parameter -dbookXslWebhelpParam=${dbookXslCommonParam} \ -generate.toc='appendix toc,title \ -article/appendix nop \ -article toc,title \ -book toc,title,figure,table,example,equation \ -chapter toc,title \ -appendix toc,title \ -part toc,title \ -preface toc,title \ -reference toc,title \ -sect1 toc \ -sect2 toc \ -sect3 toc \ -sect4 toc \ -sect5 toc \ -section toc \ -set toc,title' \ -webhelp.base.dir=. - -# Required for docbook Xsl 1.0 based stylesheets -SAXON6CMD=java -cp "${DBOOK_XSL}/extensions/saxon65.jar:${DBOOK_XSL}/tools/lib/saxon.jar:${DBOOK}/lib/xslthl-2.1.3.jar" \ - '-Dxslthl.config=file://${DBOOK_XSL}/highlighting/xslthl-config.xml' \ - com.icl.saxon.StyleSheet - -# XSL 2.0 processor -SAXONCMD=java -cp "${DBOOK_XSL}/tools/lib/saxon9he.jar:/usr/share/java/xercesImpl.jar:${DBOOK}/lib/xslthl-2.1.3.jar" \ --Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl \ - -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl \ - -Dorg.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers.XIncludeParserConfiguration \ - -Dxslthl.config=file://${DBOOK_XSL}/highlighting/xslthl-config.xml \ - net.sf.saxon.Transform - -# Docbook related build rules -# -# Basic profiling -%.print.xml %.html.xml: %.xml - mkdir -p $(@D); ln -sf /usr/share/hdmwebhelp/extern $(@D)/.. - ${SAXONCMD} -s:$(<F) \ - -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2docbook.xsl > ${*}.xml - ${SAXONCMD} -s:$*.xml \ - -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2html.xsl > ${*}.html.xml - ${SAXONCMD} -s:$*.xml \ - -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2slide.xsl > ${*}.slide.xml - ${SAXONCMD} -s:$*.xml \ - -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2print.xsl > ${*}.print.xml - cd $(@D); ${SAXONCMD} -s:$(<F) -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbookExtractFig.xsl - tar cv- `find . -name Ref -and -type d|grep -v ^\./target`|tar -x -C $(@D) - cp -f ${DBOOK_XSL_PREPROCESS}/make.image $(@D) - cd $(@D); $(MAKE) -j ${numCores} -f make.image; rm -rf `find . -name Generate` - -# Webhelp and indexing -%.webhelp: %.html.xml - ${SAXON6CMD} $< ${DBOOK_XSL_CUSTOM}/webhelp/webhelpHdm.xsl ${dbookXslWebhelpParam} - rsync -a ${DBOOK_XSL}/webhelp/template/* . # Images, Css - cat ${DBOOK_XSL_CUSTOM}/webhelp/common/css/positioning.supp.css >> common/css/positioning.css # highlighting supplements - cp ${DBOOK_XSL_CUSTOM}/webhelp/common/images/hdmlogo.svg common/images - cp ${DBOOK_XSL_CUSTOM}/webhelp/common/images/favicon.ico . - rsync -a --exclude='.git' /usr/share/hdmwebhelp/extern/libs/mathjax . - cd ${DBOOK_XSL}/webhelp/template/search; \ - cp nwSearchFnt.js default.props punctuation.props en-us.props stemmers/en_stemmer.js \ - ${DIR}/search - java \ - -DhtmlDir=. \ - '-DindexerLanguage=en' \ - '-DhtmlExtension=html' \ - '-DdoStem=true' \ - '-DtocFile=$${toc.file}' \ - '-DindexerExcludedFiles=index.html' \ - '-Dorg.xml.sax.driver=org.ccil.cowan.tagsoup.Parser' \ - '-Djavax.xml.parsers.SAXParserFactory=org.ccil.cowan.tagsoup.jaxp.SAXFactoryImpl' \ - -cp '${DBOOK_XSL}/extensions/webhelpindexer.jar:${DBOOK_XSL}/extensions/lucene-analyzers-3.0.0.jar:${DBOOK_XSL}/extensions/lucene-core-3.0.0.jar:${DBOOK_XSL}/extensions/tagsoup-1.2.1.jar' \ - com.nexwave.nquindexer.IndexerMain - touch $*.webhelp - -# Epub -%.epub: %.html.xml - ${SAXON6CMD} $< ${DBOOK_XSL_CUSTOM}/epub/chunkHdm.xsl ${dbookXslEpubParam} - cd ..; rm -rf mimetype META-INF ${*}.epub - rsync -av --delete ${DBOOK_XSL}/images OEBPS # Images, Css - cat ${DBOOK_XSL_CUSTOM}/webhelp/common/css/positioning.supp.css >> OEBPS/docbook-epub.css # highlighting supplements - zip -rX ${*}.epub mimetype META-INF OEBPS - -%.slide: %.slide.xml - ${SAXONCMD} -s:$< -xsl:${DBOOK_XSL_CUSTOM}/slide/slideHdm.xsl ${dbookXslSlideParam} - rsync -a /usr/share/reveal.js . - touch $*.slide - -# PDF -# See http://stackoverflow.com/questions/39786947/how-to-convert-to-pdf-from-xsl-fo-with-mathml/39796975 -%.pdf: %.print.xml - ${SAXON6CMD} $*.print.xml ${DBOOK_XSL_CUSTOM}/pdf/docbookHdm.xsl ${dbookXslPdfParam} > $*.fo - /usr/share/hdm-fop/fop-2.2/fop/fop -fo $*.fo -pdf ${*}.pdf - -all: ${BUILDROOT}/${SCRIPTBASENAME}.zip ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.epub ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.pdf - -${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.print.xml \ -${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.html.xml \ -${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.xml: ${SCRIPTBASENAME}.xml - -${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.xml \ -${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml \ -${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.print.xml :\ - ${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.html.xml - rsync -a --delete ${BUILDROOT_PROFILE}/* ${BUILDROOT_WEBHELP} - -${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.webhelp: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml - cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile ${SCRIPTBASENAME}.webhelp - -${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.epub: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml - mkdir -p ${BUILDROOT_WEBHELP}/OEBPS - rsync -a ${BUILDROOT_PROFILE}/* ${BUILDROOT_WEBHELP}/OEBPS - cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile ${SCRIPTBASENAME}.epub - -${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.slide: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml - cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile ${SCRIPTBASENAME}.slide - -${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.pdf: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.print.xml - cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile ${SCRIPTBASENAME}.pdf - - -${BUILDROOT}/${SCRIPTBASENAME}.zip:${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.webhelp \ - ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.slide - cd ${BUILDROOT}; zip -r ${SCRIPTBASENAME}.zip --exclude=webhelp/OEBPS/\* \ - --exclude=${SCRIPTBASENAME}.epub --exclude=${SCRIPTBASENAME}.pdf webhelp - -clean: - rm -rf ${BUILDROOT} -#end +include ${DBOOK_XSL_PREPROCESS}/make.rules diff --git a/ws/Docbook/Preprocess/make.rules b/ws/Docbook/Preprocess/make.rules new file mode 100644 index 000000000..d092b91e1 --- /dev/null +++ b/ws/Docbook/Preprocess/make.rules @@ -0,0 +1,172 @@ +SHELL = /bin/bash +DIR := ${CURDIR} +numCores=$(shell nproc --all) + +BUILDROOT=target + +BUILDROOT_PROFILE=${BUILDROOT}/profile +BUILDROOT_WEBHELP=${BUILDROOT}/webhelp +BUILDROOT_EPUB=${BUILDROOT}/epub + +DBOOK_XSL=${DBOOK}/docbook-xsl +DBOOK_XSL_CUSTOM=${DBOOK}/CustomLayer + +# Common Docbook transformation parameter +dbookXslCommonParam=\ +keep.relative.image.uris=0 \ +callout.graphics=0 \ +callout.unicode=1 \ +graphicsize.use.img.src.path=1 \ +highlight.source=1 \ +id.warnings=1 \ +olink.debug=1 + +# Pdf related Docbook transformation parameter +dbookXslPdfParam=${dbookXslCommonParam} \ +fop1.extensions=1 \ +paper.type=A4 + +# Slide related Docbook transformation parameter +dbookXslSlideParam=${dbookXslCommonParam} + +# Epub related Docbook transformation parameter +dbookXslEpubParam=${dbookXslCommonParam} \ +generate.manifest=1 \ +base.dir=. + +# Webhelp related Docbook transformation parameter +dbookXslWebhelpParam=${dbookXslCommonParam} \ +generate.toc='appendix toc,title \ +article/appendix nop \ +article toc,title \ +book toc,title,figure,table,example,equation \ +chapter toc,title \ +appendix toc,title \ +part toc,title \ +preface toc,title \ +reference toc,title \ +sect1 toc \ +sect2 toc \ +sect3 toc \ +sect4 toc \ +sect5 toc \ +section toc \ +set toc,title' \ +webhelp.base.dir=. + +# Required for docbook Xsl 1.0 based stylesheets +SAXON6CMD=java -cp "${DBOOK_XSL}/extensions/saxon65.jar:${DBOOK_XSL}/tools/lib/saxon.jar:${DBOOK}/lib/xslthl-2.1.3.jar" \ + '-Dxslthl.config=file://${DBOOK_XSL}/highlighting/xslthl-config.xml' \ + com.icl.saxon.StyleSheet + +# XSL 2.0 processor +SAXONCMD=java -cp "${DBOOK_XSL}/tools/lib/saxon9he.jar:/usr/share/java/xercesImpl.jar:${DBOOK}/lib/xslthl-2.1.3.jar" \ +-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl \ + -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl \ + -Dorg.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers.XIncludeParserConfiguration \ + -Dxslthl.config=file://${DBOOK_XSL}/highlighting/xslthl-config.xml \ + net.sf.saxon.Transform + +# Docbook related build rules +# +# Basic profiling +%.print.xml %.html.xml: %.xml + mkdir -p $(@D); ln -sf /usr/share/hdmwebhelp/extern $(@D)/.. + ${SAXONCMD} -s:$(<F) \ + -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2docbook.xsl > ${*}.xml + ${SAXONCMD} -s:$*.xml \ + -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2html.xsl > ${*}.html.xml + ${SAXONCMD} -s:$*.xml \ + -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2slide.xsl > ${*}.slide.xml + ${SAXONCMD} -s:$*.xml \ + -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2print.xsl > ${*}.print.xml + cd $(@D); ${SAXONCMD} -s:$(<F) -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbookExtractFig.xsl + tar cv- `find . -name Ref -and -type d|grep -v ^\./target`|tar -x -C $(@D) + cp -f ${DBOOK_XSL_PREPROCESS}/make.image $(@D) + cd $(@D); $(MAKE) -j ${numCores} -f make.image; rm -rf `find . -name Generate` + +# Webhelp and indexing +%.webhelp: %.html.xml + ${SAXON6CMD} $< ${DBOOK_XSL_CUSTOM}/webhelp/webhelpHdm.xsl ${dbookXslWebhelpParam} + rsync -a ${DBOOK_XSL}/webhelp/template/* . # Images, Css + cat ${DBOOK_XSL_CUSTOM}/webhelp/common/css/positioning.supp.css >> common/css/positioning.css # highlighting supplements + cp ${DBOOK_XSL_CUSTOM}/webhelp/common/images/hdmlogo.svg common/images + cp ${DBOOK_XSL_CUSTOM}/webhelp/common/images/favicon.ico . + rsync -a --exclude='.git' /usr/share/hdmwebhelp/extern/libs/mathjax . + cd ${DBOOK_XSL}/webhelp/template/search; \ + cp nwSearchFnt.js default.props punctuation.props en-us.props stemmers/en_stemmer.js \ + ${DIR}/search + java \ + -DhtmlDir=. \ + '-DindexerLanguage=en' \ + '-DhtmlExtension=html' \ + '-DdoStem=true' \ + '-DtocFile=$${toc.file}' \ + '-DindexerExcludedFiles=index.html' \ + '-Dorg.xml.sax.driver=org.ccil.cowan.tagsoup.Parser' \ + '-Djavax.xml.parsers.SAXParserFactory=org.ccil.cowan.tagsoup.jaxp.SAXFactoryImpl' \ + -cp '${DBOOK_XSL}/extensions/webhelpindexer.jar:${DBOOK_XSL}/extensions/lucene-analyzers-3.0.0.jar:${DBOOK_XSL}/extensions/lucene-core-3.0.0.jar:${DBOOK_XSL}/extensions/tagsoup-1.2.1.jar' \ + com.nexwave.nquindexer.IndexerMain + touch $*.webhelp + +# Epub +%.epub: %.html.xml + ${SAXON6CMD} $< ${DBOOK_XSL_CUSTOM}/epub/chunkHdm.xsl ${dbookXslEpubParam} + cd ..; rm -rf mimetype META-INF ${*}.epub + rsync -av --delete ${DBOOK_XSL}/images OEBPS # Images, Css + cat ${DBOOK_XSL_CUSTOM}/webhelp/common/css/positioning.supp.css >> OEBPS/docbook-epub.css # highlighting supplements + zip -rX ${*}.epub mimetype META-INF OEBPS + +%.slide: %.slide.xml + ${SAXONCMD} -s:$< -xsl:${DBOOK_XSL_CUSTOM}/slide/slideHdm.xsl ${dbookXslSlideParam} + rsync -a /usr/share/reveal.js . + touch $*.slide + +# PDF +# See http://stackoverflow.com/questions/39786947/how-to-convert-to-pdf-from-xsl-fo-with-mathml/39796975 +%.pdf: %.print.xml + /usr/share/hdm-fop/fop-2.2/fop/fop -xml $*.print.xml -xsl ${DBOOK_XSL_CUSTOM}/pdf/docbookHdm.xsl -pdf ${*}.pdf + +%.fo: %.print.xml # for debugging + ${SAXON6CMD} $*.print.xml ${DBOOK_XSL_CUSTOM}/pdf/docbookHdm.xsl ${dbookXslPdfParam} > $*.fo + +all: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.zip ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.epub ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.pdf + +${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.print.xml \ +${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.html.xml \ +${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.xml: ${SCRIPTBASENAME}.xml + +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.xml \ +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml \ +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.print.xml :\ + ${BUILDROOT_PROFILE}/${SCRIPTBASENAME}.html.xml + rsync -a --delete --exclude=mediaobjects.list --exclude=make.image ${BUILDROOT_PROFILE}/* ${BUILDROOT_WEBHELP} + +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.webhelp: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml + cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile ${SCRIPTBASENAME}.webhelp + +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.epub: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml + mkdir -p ${BUILDROOT_WEBHELP}/OEBPS + rsync -a ${BUILDROOT_PROFILE}/* ${BUILDROOT_WEBHELP}/OEBPS + cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile ${SCRIPTBASENAME}.epub + +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.slide: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.html.xml + cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile ${SCRIPTBASENAME}.slide + +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.pdf: ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.print.xml + cd ${BUILDROOT_WEBHELP}; ${MAKE} -f ../../Makefile ${SCRIPTBASENAME}.pdf + + +${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.zip:${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.webhelp \ + ${BUILDROOT_WEBHELP}/${SCRIPTBASENAME}.slide + cd ${BUILDROOT_WEBHELP}; zip -r ${SCRIPTBASENAME}.zip --exclude=OEBPS/\* --exclude=META-INF/\* --exclude=mimetype \ + --exclude=${SCRIPTBASENAME}.epub --exclude=${SCRIPTBASENAME}.pdf webhelp --exclude=${SCRIPTBASENAME}.zip * + +clean: + rm -rf ${BUILDROOT} + +diff: + diff -r --brief targetReference/ target|grep -v pdf + + +#end -- GitLab