]> pere.pagekite.me Git - text-infor-lif-else-laula.git/blobdiff - Makefile
Improve clean and distclean target.
[text-infor-lif-else-laula.git] / Makefile
index cbcbcfd596b6c3dd530c279ee7e89a686a34153f..0c8784dbc3d3ebf66843d88f563e48e8f467ca31 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,3 +1,13 @@
+
+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 = \
@@ -9,22 +19,22 @@ 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 \
@@ -32,10 +42,63 @@ manuscript-fop.fo: manuscript.xml
        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