From f7f22e813b8b5c1f1f261f7c1e6d988d9200be60 Mon Sep 17 00:00:00 2001 From: Martin Goik <goik@hdm-stuttgart.de> Date: Sun, 18 Oct 2015 18:05:55 +0200 Subject: [PATCH] New build rules --- Doc/Makefile | 54 +++------- Doc/make.rules | 34 ++---- Makefile | 1 + ws/Docbook/Extensions/Tdata/Makefile | 9 ++ .../Extensions/Xsl/docbookExtractFig.xsl | 102 ++++++++++++++++++ 5 files changed, 130 insertions(+), 70 deletions(-) create mode 100644 ws/Docbook/Extensions/Tdata/Makefile create mode 100644 ws/Docbook/Extensions/Xsl/docbookExtractFig.xsl diff --git a/Doc/Makefile b/Doc/Makefile index 56edec39e..8d8dab118 100644 --- a/Doc/Makefile +++ b/Doc/Makefile @@ -10,7 +10,6 @@ PPARAM= -p eclipse.plugin.name Lectures \ -p eclipse.plugin.provider 'Martin Goik, goik@hdm-stuttgart.de' DOCMODULES=Sd1 Sda1 Sda2 -#DOCMODULES=Sda2 BUILDROOT=target @@ -24,10 +23,6 @@ SAXONCMD=java -cp "/usr/share/java/Saxon-HE.jar:/usr/share/java/xercesImpl.jar" -Dorg.apache.xerces.xni.parser.XMLParserConfiguration=org.apache.xerces.parsers.XIncludeParserConfiguration \ net.sf.saxon.Transform -# -# Directories containing pom.xml files -# - # # Dependent destinations # @@ -36,9 +31,6 @@ BUILDNAVI=navi/$(PLUGINID) BUILDNONAVI=nonavi/$(PLUGINID) JAVADOCDESTDIR=${BUILDNAVI}/Ref/api -#jdoc: $(foreach pomDir,$(POMDIRS),$(pomDir)/jdoc ) - - #Video webm-->mp4 conversion rule # %.webm.mp4:%.webm @@ -47,21 +39,17 @@ JAVADOCDESTDIR=${BUILDNAVI}/Ref/api webmSet = $(shell /bin/ls target/*/Ref/Video/*.webm) mp4Set = $(foreach webmFile, $(webmSet), $(webmFile).mp4 ) -all: ${BUILDROOT}/stage1 $(mp4Set) - cd ${BUILDROOT}/resources/Generate;\ - for module in ${DOCMODULES}; do \ - pushd $$module;\ - mkdir -p ../../../$$module/Ref/Fig/Generate;\ - tar c- *|tar -x -C ../../../$$module/Ref/Fig/Generate;\ - popd;\ - done; - cd ${BUILDROOT};\ - for module in ${DOCMODULES}; do \ - pushd $$module/Ref/Fig;\ - $(MAKE) -f ../../../../make.rules -j ${numCores} all;\ - popd;\ - done; - cd ${BUILDROOT}; tar c- ${DOCMODULES} | tar -x -C ${BUILDNAVI} +all: ${BUILDROOT}/stage1 $(mp4Set) ###################### mp4set !!!!!!!!!!!!!!!! ################ + cd ${BUILDROOT}; $(MAKE) -f ../make.rules -j ${numCores} pdf + cd ${BUILDROOT}; tar c- ${DOCMODULES} | tar -x -C ${BUILDNAVI} + +${BUILDROOT}/${SCRIPTBASENAME}.xml: ${SCRIPTBASENAME}.xml Common/glossary.xml Common/bibliography.xml + mkdir -p ${BUILDROOT}; + ${SAXONCMD} -s:${SCRIPTBASENAME}.xml -xsl:../ws/Docbook/Extensions/Xsl/docbook2docbook.xsl > ${BUILDROOT}/${SCRIPTBASENAME}.xml + cd ${BUILDROOT}; ${SAXONCMD} -s:${SCRIPTBASENAME}.xml -xsl:../../ws/Docbook/Extensions/Xsl/docbookExtractFig.xsl +# for module in ${DOCMODULES}; do \ +# tar c- $$module/Ref| tar -x -C ${BUILDROOT}; \ +# done; ${BUILDROOT}/stage1: ${BUILDROOT}/${BUILDNAVI}/printversion.pdf ${BUILDROOT}/${BUILDNAVI}/index.html ${BUILDROOT}/${BUILDNONAVI}/index.html touch ${BUILDROOT}/stage1 @@ -83,30 +71,12 @@ ${BUILDROOT}/${BUILDNAVI}/printversion.pdf: ${BUILDROOT}/${SCRIPTBASENAME}.xml /usr/share/xmlmind/bin/xxetool convert db5.toPSFile ${SCRIPTBASENAME}.xml \ -s pdf -s "|pdf" -u $(BUILDNAVI)/printversion.pdf - ${BUILDROOT}/${SCRIPTBASENAME}.xml: ${SCRIPTBASENAME}.xml Common/glossary.xml Common/bibliography.xml - mkdir -p ${BUILDROOT}; - ${SAXONCMD} -s:${SCRIPTBASENAME}.xml -xsl:../ws/Docbook/Extensions/Xsl/docbook2docbook.xsl > ${BUILDROOT}/${SCRIPTBASENAME}.xml - for module in ${DOCMODULES}; do \ - tar c- $$module/Ref| tar -x -C ${BUILDROOT}; \ - done; - -# tar c --exclude=\.svn Ref|tar -xC ${BUILDNAVI} -#GoikLectures/Doc/target/resources/Generate/Sda1 -#tar c- *|tar -x -C ../../../Sda1/Ref/Fig/Generate/ - - -#You may have to start refdbd -i applic.mi.hdm-stuttgart.de -s -e 0 -l 7 -db.docbook.bib.xml:db.docbook.xml - runbib -u refdb -d refdb_mi -t db50x -r -G raw.css -E utf-8 db.docbook.xml - install:#jdoc rsync -av --delete -e ssh ${BUILDNAVI} info1@${WWWBASE}/navi rsync -av --delete -e ssh ${BUILDNONAVI} info1@${WWWBASE}/nonavi - #ssh info1@freedocs.mi.hdm-stuttgart.de /usr/share/hdm/indexupdate.pl + # ssh info1@freedocs.mi.hdm-stuttgart.de /usr/share/hdm/indexupdate.pl clean: rm -rf ${BUILDROOT} -# cd Ref/Fig;$(MAKE) clean - #end diff --git a/Doc/make.rules b/Doc/make.rules index 4821801b3..73ac23d31 100644 --- a/Doc/make.rules +++ b/Doc/make.rules @@ -1,31 +1,9 @@ -FIGFILES=$(shell /bin/ls *.fig | sed -e s/\.fig//g) -TEXFILES=$(shell cd Generate;/bin/ls *.tex | sed -e s/\.tex//g) +%.pdf:%.tex + cd $(@D); fig2dev -L pstex ../../../../$*.fig| epstopdf -f > $(*F).fig.pdf + cd $(@D); fig2mpdf -l -m ../../../../$*.fig + cd $(@D);pdflatex $(*F) +texFigureBasenameSet = $(shell /bin/ls */Ref/Fig/*.tex| sed -e s/\.tex//g) -%.fig.pdf:%.fig - fig2dev -L pstex $< | epstopdf -f > $*.fig.pdf - -%.pdf:%.fig - if [ ! -f Generate/$*.tex ]; then \ - echo "*********************************************************"; \ - echo "*********************************************************"; \ - echo "*"; \ - echo File $< " is not being referenced from any XML document, exiting!"; \ - echo "*"; \ - echo "*********************************************************"; \ - echo "*********************************************************"; \ - else \ - cd Generate; fig2mpdf -l -m ../$<; pdflatex $* && mv -f $*.pdf .. ;\ - fi - -pdf:$(foreach figfile, $(FIGFILES), $(figfile).pdf $(figfile).fig.pdf ) - -all: pdf - - -clean: - rm -rf $(foreach figfile, $(FIGFILES), $(figfile).fig.pdf) - cd Generate; rm -f *.aux *.log *.nav *.out *.snm *.toc $(foreach texfile, $(TEXFILES), ../$(texfile).pdf $(texfile)-*.pdf) -#end - #exit 1; \ +pdf:$(foreach texFile, $(texFigureBasenameSet), $(texFile).pdf) diff --git a/Makefile b/Makefile index 47bd1bdac..1db9d58fd 100644 --- a/Makefile +++ b/Makefile @@ -5,6 +5,7 @@ numCores=$(shell nproc --all) DOCMODULES = Sd1 Sda1 Sda2 doc: + cd Doc;$(MAKE) -j ${numCores} target/lectures.xml cd Doc;$(MAKE) -j ${numCores} target/stage1 cd Doc;$(MAKE) -j ${numCores} all diff --git a/ws/Docbook/Extensions/Tdata/Makefile b/ws/Docbook/Extensions/Tdata/Makefile new file mode 100644 index 000000000..8c9f3b79d --- /dev/null +++ b/ws/Docbook/Extensions/Tdata/Makefile @@ -0,0 +1,9 @@ + +all: + /usr/share/xmlmind/bin/xxetool convert -p eclipse.plugin.id my.special.id -p eclipse.plugin.name Test \ + -p eclipse.plugin.provider 'Martin Goik, goik@hdm-stuttgart.de' db5.toEclipseHelp \ + fig.xml -u fig; + +clean: + rm -rf resources +#end diff --git a/ws/Docbook/Extensions/Xsl/docbookExtractFig.xsl b/ws/Docbook/Extensions/Xsl/docbookExtractFig.xsl new file mode 100644 index 000000000..4296c7884 --- /dev/null +++ b/ws/Docbook/Extensions/Xsl/docbookExtractFig.xsl @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://docbook.org/ns/docbook" xmlns:d="http://docbook.org/ns/docbook"> + + + + <xsl:template match="/"> + <xsl:apply-templates select="//d:imagedata[ends-with(@fileref, '.fig') ]" mode="goik"/> + </xsl:template> + + <xsl:template match="d:imagedata" mode="goik"> + <xsl:variable name="fullFileName" select="@fileref"/> + <xsl:variable name="dirPath"> + <xsl:call-template name="hdm.get.leftmost.of.seperator"> + <xsl:with-param name="path" select="$fullFileName"/> + <xsl:with-param name="seperator" select="'/'"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="fileName"> + <xsl:call-template name="hdm.get.pure.filename"> + <xsl:with-param name="path" select="$fullFileName"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="fileBaseName"> + <xsl:call-template name="hdm.get.leftmost.of.seperator"> + <xsl:with-param name="path" select="$fileName"/> + <xsl:with-param name="seperator" select="'.'"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="moduleBaseName"> + <xsl:call-template name="hdm.get.leftmost.of.seperator"> + <xsl:with-param name="path" select="ancestor::*/@xml:base"/> + <xsl:with-param name="seperator" select="'/'"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="fullGenerateBasename" > + <xsl:value-of select="$moduleBaseName"/> + <xsl:text>/</xsl:text> + <xsl:value-of select="$dirPath"/> + <xsl:text>/</xsl:text> + <xsl:value-of select="$fileBaseName"/> + </xsl:variable> + + + <xsl:value-of select="$fullGenerateBasename"/> + <xsl:text>.tex + </xsl:text> + + <xsl:result-document method="text" encoding="utf-8" href="{$fullGenerateBasename}.tex" > + <xsl:text>\input{../../../../Sda1/Ref/Fig/pre.tex} +\begin{mycenterframe}{</xsl:text> +<xsl:apply-templates select="." mode="object.title.markup.textonly"/> +<xsl:text>} +\multifigure{</xsl:text> +<xsl:value-of select="$fileBaseName" /> +<xsl:text>} +\end{mycenterframe} +\end{document} +</xsl:text> + </xsl:result-document> + </xsl:template> + + + <xsl:template name="hdm.get.leftmost.of.seperator"> + <xsl:param name="path"/> + <xsl:param name="seperator"/> + <xsl:param name="start">1</xsl:param> + <xsl:if test="contains($path, $seperator )"> + <xsl:if test="$start='0'"> + <xsl:value-of select="$seperator"/> + </xsl:if> + <xsl:value-of select="substring-before($path, $seperator)"/> + <xsl:call-template name="hdm.get.leftmost.of.seperator"> + <xsl:with-param name="path" select="substring-after($path, $seperator)"/> + <xsl:with-param name="seperator" select="$seperator"/> + <xsl:with-param name="start">0</xsl:with-param> + </xsl:call-template> + </xsl:if> + </xsl:template> + + <xsl:template name="hdm.get.pure.filename"> + <xsl:param name="path"/> + <xsl:choose> + <xsl:when test="contains($path, '/' )"> + <xsl:call-template name="hdm.get.pure.filename"> + <xsl:with-param name="path"> + <xsl:value-of select="substring-after($path, '/')"/> + </xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$path"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + +</xsl:stylesheet> -- GitLab