+
+SOURCE = manuscript
+
+GENERATED = \
+ $(SOURCE).pdf $(SOURCE).epub $(SOURCE).html \
+ $(SOURCE).en.pdf $(SOURCE).en.epub $(SOURCE).en.html \
+ $(SOURCE).nb.pdf $(SOURCE).nb.epub $(SOURCE).nb.html \
+ $(SOURCE).se.pdf $(SOURCE).se.epub $(SOURCE).se.html \
+ $(SOURCE).sma.pdf $(SOURCE).sma.epub $(SOURCE).sma.html
+
DBLATEX = dblatex
DBLATEX_OPTS = \
-V \
-p data/pdf.xsl
-all: manuscript.pdf manuscript.epub
+all: $(GENERATED)
-manuscript.xml: *.adoc manuscript-docinfo*.xml
- asciidoctor -b docbook5 -d book manuscript.adoc --out-file=$@
-manuscript.pdf: manuscript.xml
+$(SOURCE).xml: *.adoc $(SOURCE)-docinfo*.xml
+ asciidoctor -b docbook5 -d book $(SOURCE).adoc --out-file=$@
+$(SOURCE).pdf: $(SOURCE).xml
$(DBLATEX) $(DBLATEX_OPTS) $<
-manuscript.epub: manuscript.xml
+$(SOURCE).epub: $(SOURCE).xml
dbtoepub $^
-manuscript.html: manuscript.xml
+$(SOURCE).html: $(SOURCE).xml
xsltproc --encoding UTF-8 \
- --output $(subst .pdf,.fo,$@) \
+ --output $@ \
data/stylesheet-html.xsl \
$<
-manuscript-fop.fo: manuscript.xml
+$(SOURCE)-fop.fo: $(SOURCE).xml
xsltproc \
--output $(subst .pdf,.fo,$@).new \
data/stylesheet-fo.xsl \
xmllint --format $@.new > $@
$(RM) $@.new
-manuscript-fop.pdf: manuscript-fop.fo
+$(SOURCE)-fop.pdf: $(SOURCE)-fop.fo
fop -c data/fop-params.xconf -fo $(subst .pdf,.fo,$@) -pdf $@ ; \
+po/$(SOURCE).pot: $(SOURCE).xml
+ po4a --no-translations po4a.cfg
+po/%.po: po/$(SOURCE).pot
+ po4a --no-translations --msgmerge-opt --no-location po4a.cfg
+
+$(SOURCE).en.xml: po/$(SOURCE).en.po $(SOURCE).xml
+ po4a --translate-only $(SOURCE).en.xml po4a.cfg
+$(SOURCE).en.pdf: $(SOURCE).en.xml Makefile data/pdf.xsl
+ dblatex $(DBLATEX_OPTS) $(SOURCE).en.xml -o $@
+$(SOURCE).en.epub: $(SOURCE).en.xml
+ dbtoepub $^
+$(SOURCE).en.html: $(SOURCE).xml
+ xsltproc --encoding UTF-8 \
+ --output $@ \
+ data/stylesheet-html.xsl \
+ $<
+
+$(SOURCE).nb.xml: po/$(SOURCE).nb.po $(SOURCE).xml
+ po4a --translate-only $(SOURCE).nb.xml po4a.cfg
+$(SOURCE).nb.pdf: $(SOURCE).nb.xml Makefile data/pdf.xsl
+ dblatex $(DBLATEX_OPTS) $(SOURCE).nb.xml -o $@
+$(SOURCE).nb.epub: $(SOURCE).nb.xml
+ dbtoepub $^
+$(SOURCE).nb.html: $(SOURCE).xml
+ xsltproc --encoding UTF-8 \
+ --output $@ \
+ data/stylesheet-html.xsl \
+ $<
+
+$(SOURCE).se.xml: po/$(SOURCE).se.po $(SOURCE).xml
+ po4a --translate-only $(SOURCE).se.xml po4a.cfg
+$(SOURCE).se.pdf: $(SOURCE).se.xml Makefile data/pdf.xsl
+ dblatex $(DBLATEX_OPTS) $(SOURCE).se.xml -o $@
+$(SOURCE).se.epub: $(SOURCE).se.xml
+ dbtoepub $^
+$(SOURCE).se.html: $(SOURCE).xml
+ xsltproc --encoding UTF-8 \
+ --output $@ \
+ data/stylesheet-html.xsl \
+ $<
+
+$(SOURCE).sma.xml: po/$(SOURCE).sma.po $(SOURCE).xml
+ po4a --translate-only $(SOURCE).sma.xml po4a.cfg
+$(SOURCE).sma.pdf: $(SOURCE).sma.xml Makefile data/pdf.xsl
+ dblatex $(DBLATEX_OPTS) $(SOURCE).sma.xml -o $@
+$(SOURCE).sma.epub: $(SOURCE).sma.xml
+ dbtoepub $^
+$(SOURCE).sma.html: $(SOURCE).xml
+ xsltproc --encoding UTF-8 \
+ --output $@ \
+ data/stylesheet-html.xsl \
+ $<
+
clean:
- $(RM) *~
+ $(RM) *~ */*~
distclean:
- $(RM) manuscript.xml manuscript.pdf manuscript.epub
+ $(RM) $(GENERATED) manuscript.*.xml