Skip to content
Snippets Groups Projects
Commit 349a9b89 authored by Goik Martin's avatar Goik Martin
Browse files

Macro based Makefile

parent cde219fd
No related branches found
No related tags found
No related merge requests found
SHELL = /bin/bash
SCRIPTBASENAME=fig
include ../../../../Doc/make.xsl
#+++ no changes below this line ++++++++++++++++++++++++++++++++++++
BUILDROOT=target
BUILDROOT_SRC=${BUILDROOT}/src
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=target/epub
# 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=target/webhelp
DIR := ${CURDIR}
numCores=$(shell nproc --all)
# Required for docbook Xsl 1.0 based stylesheets
SAXON6CMD=java -cp "/usr/share/java/saxon.jar:/usr/share/java/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 "/usr/share/hdm-docbook-xsl/docbook-xsl/tools/lib/saxon9he.jar:/usr/share/java/xercesImpl.jar:/usr/share/java/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
%.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:$(<F) \
-xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2html.xsl > ${*}.html.xml
${SAXONCMD} -s:$(<F) \
-xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbook2print.xsl > ${*}.print.xml
cd $(@D); ${SAXONCMD} -s:$(<F) -xsl:${DBOOK_XSL_PREPROCESS}/Xsl/docbookExtractFig.xsl
mkdir -p $(@D)/Resources; tar cv- `find . -name Ref -and -type d|grep -v ^\./target`|tar -x -C $(@D)/Resources
cp ${DBOOK_XSL_PREPROCESS}/make.image $(@D)
cd $(@D)/Resources; $(MAKE) -f ../make.image; rm -rf `find . -name Generate`
all: epub webhelp pdf slides
${BUILDROOT_SRC}/${SCRIPTBASENAME}.print.xml \
${BUILDROOT_SRC}/${SCRIPTBASENAME}.html.xml \
${BUILDROOT_SRC}/${SCRIPTBASENAME}.xml: ${SCRIPTBASENAME}.xml
webhelp:${BUILDROOT_SRC}/${SCRIPTBASENAME}.html.xml
${SAXON6CMD} $< ${DBOOK_XSL_CUSTOM}/webhelp/webhelpHdm.xsl ${dbookXslWebhelpParam}
cd ${BUILDROOT_SRC}/Resources; rsync -av * ${DIR}/${BUILDROOT_WEBHELP}
cp -r ${DBOOK_XSL}/webhelp/template/* ${BUILDROOT_WEBHELP} # Images, Css
cat ${DBOOK_XSL_CUSTOM}/webhelp/common/css/positioning.supp.css >> ${BUILDROOT_WEBHELP}/common/css/positioning.css # highlighting supplements
cp ${DBOOK_XSL_CUSTOM}/webhelp/common/images/hdmlogo.svg ${BUILDROOT_WEBHELP}/common/images
cd ${DBOOK_XSL}/webhelp/template/search; \
cp nwSearchFnt.js default.props punctuation.props en-us.props stemmers/en_stemmer.js \
${DIR}/${BUILDROOT_WEBHELP}/search
java \
-DhtmlDir=${BUILDROOT_WEBHELP} \
'-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
ln -sf ../Slides ${BUILDROOT_WEBHELP} || true
epub: ${BUILDROOT_SRC}/${SCRIPTBASENAME}.html.xml
${SAXON6CMD} $< ${DBOOK_XSL_CUSTOM}/epub/chunkHdm.xsl ${dbookXslEpubParam}
rsync -av --delete ${BUILDROOT_SRC}/Resources/* ${BUILDROOT_EPUB}/OEBPS
rsync -av --delete ${DBOOK_XSL}/images ${BUILDROOT_EPUB}/OEBPS # Images, Css
cat ${DBOOK_XSL_CUSTOM}/webhelp/common/css/positioning.supp.css >> ${BUILDROOT_EPUB}/OEBPS/docbook-epub.css # highlighting supplements
cd ${BUILDROOT_EPUB}; zip -rX ${SCRIPTBASENAME}.epub mimetype META-INF OEBPS
slides: ${BUILDROOT}/src/${SCRIPTBASENAME}.html.xml
cd ${BUILDROOT}; ${SAXONCMD} -s:../$< -xsl:${DBOOK_XSL_CUSTOM}/slide/slideHdm.xsl ${dbookXslSlideParam}
cd ${BUILDROOT_SRC}/Resources; rsync -av * ${DIR}/${BUILDROOT}/Slides
ln -sf /usr/share/reveal.js ${BUILDROOT}/Slides
# See http://stackoverflow.com/questions/39786947/how-to-convert-to-pdf-from-xsl-fo-with-mathml/39796975
pdf: ${BUILDROOT_SRC}/${SCRIPTBASENAME}.print.xml
mkdir -p ${BUILDROOT}/pdf
cd ${BUILDROOT_SRC}/Resources; tar cv- `find . -name Ref -and -type d|grep -v ^\./target`|tar -x -C ${DIR}/${BUILDROOT}/pdf
${SAXON6CMD} $< ${DBOOK_XSL}/fo/docbook.xsl ${dbookXslPdfParam} > ${BUILDROOT}/pdf/${SCRIPTBASENAME}.fo
/usr/share/hdm-fop/fop-2.2/fop/fop -fo ${BUILDROOT}/pdf/${SCRIPTBASENAME}.fo -pdf ${BUILDROOT}/pdf/${SCRIPTBASENAME}.pdf
xsl:
rm -rf $(XSLTESTDIR); mkdir $(XSLTESTDIR)
cd $(XSLTESTDIR); saxon-xslt ../fig.xml /usr/share/xmlmind/addon/config/docbook5/xslCustom/webhelpHdm.xsl
lectures:
rm -rf $(LECTUREDIR);mkdir $(LECTUREDIR)
cd $(LECTUREDIR); saxon-xslt ../../../../../Doc/target/lectures.xml $(WEBHELPXSL)
clean:
rm -rf $(TARGETDIR) $(DESTDIR) $(LECTUREDIR) $(XSLTESTDIR)
#end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment