doc: Add updating firmware and using am products asciidoc bits
[fw/altos] / doc / Makefile
index 57300c10f8a9bf931b57ee9ce3c0f3e7d140a180..82ece0d516312660b48fb3db33eace94b8a924ae 100644 (file)
 #      http://docbook.sourceforge.net/release/xsl/current/README
 #
 
-HTML=telemetrum-doc.html altosui-doc.html
-PDF=telemetrum-doc.pdf altosui-doc.pdf
-DOC=$(HTML) $(PDF)
+RELNOTES=\
+       release-notes-0.7.1.html \
+       release-notes-0.8.html \
+       release-notes-0.9.html \
+       release-notes-0.9.2.html \
+       release-notes-1.0.1.html \
+       release-notes-1.1.html \
+       release-notes-1.1.1.html \
+       release-notes-1.2.html \
+       release-notes-1.2.1.html \
+       release-notes-1.3.html \
+       release-notes-1.3.1.html \
+       release-notes-1.3.2.html \
+       release-notes-1.4.html \
+       release-notes-1.4.1.html \
+       release-notes-1.5.html \
+       release-notes-1.6.html \
+       release-notes-1.6.1.html
+
+PICTURES=\
+       altosui.png \
+       ascent.png \
+       configure-altimeter.png \
+       configure-altosui.png \
+       configure-groundstation.png \
+       configure-pyro.png \
+       descent.png \
+       device-selection.png \
+       easymini-top.jpg \
+       fire-igniter.png \
+       graph-configure.png \
+       graph-map.png \
+       graph.png \
+       graph-stats.png \
+       landed.png \
+       launch-pad.png \
+       load-maps.png \
+       micropeak-app.png \
+       micropeak-back.jpg \
+       micropeak-device-dialog.png \
+       micropeak-dime.jpg \
+       micropeak-download.png \
+       micropeak-graph-configure.png \
+       micropeak-graph.png \
+       micropeak-preferences.png \
+       micropeak-raw-data.png \
+       micropeak-save-dialog.png \
+       micropeak-statistics.png \
+       MicroPeakUSB-2.0-inuse.jpg \
+       MicroPeakUSB-2.0.jpg \
+       monitor-idle.png \
+       scan-channels.png \
+       site-map.png \
+       table.png \
+       telemega-v1.0-top.jpg \
+       telemetrum-v1.1-thside.jpg \
+       telemini-v1-top.jpg \
+       telemini-v2-top.jpg
+
+TXT_FILES=altusmetrum.txt
+INC_FILES=\
+       dedication.inc \
+       intro.inc \
+       getting-started.inc \
+       usage.inc \
+       telemetrum.inc \
+       telemini-v1.0.inc \
+       telemini-v2.0.inc \
+       easymini.inc \
+       telemega.inc \
+       easymega.inc \
+       installation.inc \
+       using-am-products.inc \
+       updating-firmware.inc \
+       altosui.inc \
+       altosdroid.inc \
+       system-operation.inc \
+       pyro-channels.inc \
+       flight-data-recording.inc \
+       handling.inc \
+       specs.inc
+
+RAW_FILES=$(TXT_FILES:.txt=.raw)
+
+RAW_INC=$(INC_FILES:.inc=.raw)
+
+AD_PDF=$(TXT_FILES:.txt=.pdf)
+
+SVG=\
+       easymini.svg \
+       telemega.svg \
+       telemetrum.svg \
+       telemini.svg \
+       easymega.svg
+
+RELNOTES_XSL=$(RELNOTES:.html=.xsl)
+HTML=altusmetrum.html altos.html telemetry.html companion.html micropeak.html telegps.html $(RELNOTES)
+PDF=altusmetrum.pdf altos.pdf telemetry.pdf companion.pdf micropeak.pdf telegps.pdf \
+       telemetrum-outline.pdf telemega-outline.pdf easymini-outline.pdf easymega-outline.pdf $(AD_PDF)
 HTMLSTYLE=/usr/share/xml/docbook/stylesheet/docbook-xsl/html/docbook.xsl
-FOSTYLE=/usr/share/xml/docbook/stylesheet/docbook-xsl/fo/docbook.xsl
+FOSTYLE=xorg-fo.xsl
+FOPCFG=fop-cfg.xml
+TEMPLATES=titlepage.templates.xsl
 PDFSTYLE=
+IMAGES=$(PICTURES) $(SVG)
+DOC=$(HTML) $(PDF) $(IMAGES)
+
+.SUFFIXES: .inc .txt .raw .pdf .html
+
+XSLTFLAGS=--stringparam section.autolabel 1 --xinclude
 
-.SUFFIXES: .xsl .html .fo .pdf
+.txt.raw:
+       sed -e 's/@@VERSION@@/$(VERSION)/' -e 's/@@DATE@@/$(DATE)/' -e 's/^[    ]*//' -e 's/^\\//' $*.txt > $@
+
+.inc.raw:
+       sed -e 's/@@VERSION@@/$(VERSION)/' -e 's/@@DATE@@/$(DATE)/' -e 's/^[    ]*//' -e 's/^\\//' $*.inc > $@
+
+.raw.pdf:
+       a2x --verbose -k -d book -a docinfo -f pdf --xsltproc-opts "--stringparam toc.section.depth 2" --xsl-file am-fo.xsl --fop --fop-opts="-c fop.xconf" $*.raw
+
+.raw.html:
+       a2x --verbose -k -d book -a docinfo -f xhtml --xsltproc-opts "--stringparam toc.section.depth 2" --stylesheet=am.css $*.raw
 
 .xsl.html:
-       xsltproc -o $@ $(HTMLSTYLE) $*.xsl
+       xsltproc $(XSLTFLAGS) -o $@ $(HTMLSTYLE) $*.xsl
 
-.xsl.fo:
-       xsltproc -o $@ $(FOSTYLE) $*.xsl
+.xsl.pdf:
+       xmlto -p '-c $(FOPCFG)' --searchpath `pwd` -x $(FOSTYLE) --with-fop pdf $*.xsl
 
-.fo.pdf:
-       fop -fo $*.fo -pdf $@
+.xml.xsl:
+       xsltproc --output $@ /usr/share/xml/docbook/stylesheet/docbook-xsl/template/titlepage.xsl $*.xml
 
 all:   $(HTML) $(PDF)
 
+altusmetrum.pdf: altusmetrum-docinfo.xml $(RAW_FILES) $(RAW_INC)
+
+install:       all
+
 publish:       $(DOC)
-       cp $(DOC)telemetrum-doc.html home/bdale/web/altusmetrum/TeleMetrum/doc/
-       (cd /home/bdale/web/altusmetrum ; echo "update docs" | git commit -F - /home/bdale/web/altusmetrum/TeleMetrum/doc/* ; git push)
+       cp $(DOC) /home/bdale/web/altusmetrum/AltOS/doc/
+       (cd /home/bdale/web/altusmetrum ; \
+        git add /home/bdale/web/altusmetrum/AltOS/doc/* ; \
+        echo "update docs" | \
+        git commit -F - /home/bdale/web/altusmetrum/AltOS/doc/* ; \
+        git push)
 
 clean:
-       rm -f *.html *.pdf *.fo
+       rm -f $(HTML) $(PDF) $(TEMPLATES)
 
 distclean:
-       rm -f *.html *.pdf *.fo
+       rm -f $(HTML) $(PDF)
+
+altusmetrum.html: $(RELNOTES_XSL) $(IMAGES)
+altusmetrum.pdf: $(RELNOTES_XSL) $(IMAGES)
+
+telegps.html: $(RELNOTES_XSL) $(IMAGES)
+telegps.pdf: $(RELNOTES_XSL) $(IMAGES)
+
+$(PDF): $(FOSTYLE) $(TEMPLATES) $(FOPCFG)
+
+indent:                altusmetrum.xsl
+       xmlindent -i 2 < altusmetrum.xsl > altusmetrum.new
 
-indent:                telemetrum-doc.xsl
-       xmlindent -i 2 < telemetrum-doc.xsl > telemetrum-doc.new
+$(FOPCFG): Makefile
+       (echo '<fop version="1.0">'; echo '  <base>'"`pwd`"'</base>'; echo '</fop>') > $@