]> pere.pagekite.me Git - text-madewithcc.git/blobdiff - Makefile
Translated using Weblate (Norwegian Bokmål)
[text-madewithcc.git] / Makefile
index 0de6e86f52e6c46d0d297a387881e5d829da0999..b0a37a408758b14f6b12d7ab6dd7c575f33071da 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -18,11 +18,15 @@ TEXLANGCODE=es
 #TEXLANG=norsk
 #TEXLANGCODE=nb
 
-PANDOC_OPTS = --top-level-division=part -t docbook -f markdown+inline_notes+ascii_identifiers \
+# pandoc version 1.17.2~dfsg-3 do not understand
+# --top-level-diversion, while version 1.19.2.4~dfsg-1+b3 do.
+PANDOC_OPTS = \
+  --standalone \
+  --top-level-division=part \
+  -t docbook \
+  -f markdown+inline_notes+ascii_identifiers \
   --variable 'author:Paul Stacey' --variable 'author:Sarah Hinchliff Pearson' \
   --variable 'title:$(TITLE)'
-# --top-level-diversion is not available in pandoc in Jessie
-# PANDOC_OPTS = -t docbook -f markdown+inline_notes
 
 LANGS := $(shell ls po/*/mwcc.po|cut -d/ -f2)
 
@@ -34,12 +38,13 @@ distclean: clean
            rm -f $(SOURCE).$$LANG.md ;\
        done
 clean:
-       for EXT in aux cb cb2 glo idx lof log tex toc xml pdf; do \
+       for EXT in aux cb cb2 glo idx lof log tex toc xml pdf epub; do \
            rm -f $(SOURCE).$$EXT ;\
            for LANG in $(LANGS); do \
                rm -f $(SOURCE).$$LANG.$$EXT ;\
            done; \
         done
+       $(RM) *~
 
 $(SOURCE).md: $(SOURCE).odt fixup.rb
        TEMP=`tempfile -p mwcc` && \
@@ -57,21 +62,22 @@ po/mwcc.pot: $(SOURCE).md
        echo '# Authors: Paul Stacey and Sarah Hinchliff Pearson' >> $@ && \
        tail --lines=+5 $$TEMP >> $@ && \
        rm $$TEMP
-       set -e; for LANG in po/*/mwcc.po; do \
-           echo -n $$LANG\  ; \
-           msgmerge $$LANG po/mwcc.pot -U ; \
-       done
+
+po/*/mwcc.po: po/mwcc.pot
+       msgmerge --previous $@ po/mwcc.pot -U
+       touch $@
 
 $(SOURCE).es.md: $(SOURCE).md po/es/mwcc.po
-       po4a-translate -f text -m $(SOURCE).md -p po/es/mwcc.po -l $@ -l $@ -L utf8 -M utf8 -k 0
+       po4a-translate -f text -m $(SOURCE).md -p po/es/mwcc.po -l $@ -l $@ -L utf-8 -M utf-8 -k 0
 
 $(SOURCE).nb.md: $(SOURCE).md po/nb/mwcc.po
-       po4a-translate -f text -m $(SOURCE).md -p po/nb/mwcc.po -l $@ -l $@ -L utf8 -M utf8 -k 0
+       po4a-translate -f text -m $(SOURCE).md -p po/nb/mwcc.po -l $@ -l $@ -L utf-8 -M utf-8 -k 0
 
 %.xml: %.md
-       pandoc -s -o $@ $(PANDOC_OPTS) $^
-       perl -p -i -e 's/!DOCTYPE article/!DOCTYPE book/ ; \
-               s!<(/?)article(info|)?>!<$$1book$$2>!' $@
+       TEMP=`tempfile -p mwcc` && \
+         pandoc -s -o $$TEMP $(PANDOC_OPTS) $^ && \
+         ruby fixup-docbook.rb $$TEMP $@ && \
+         rm $$TEMP
 
 pdf: $(SOURCE).pdf
 %.pdf: %.tex
@@ -82,9 +88,12 @@ epub: $(SOURCE).epub
 %.epub: %.xml
        dbtoepub $^
 
+# Replace Unicode Hair Space (U+200A) with space, as &hairsp; is not
+# handled by LaTeX/dblatex, see <URL: https://bugs.debian.org/889603 >.
 %.tex: %.xml
        dblatex -t tex -b xetex $^
        perl -p -i -e 's/\[latin1\]\{inputenc\}/[utf8]{inputenc}\n\\usepackage[$(TEXLANG)]{babel}/; \
+               s/ / /g; \
                s/\\setcounter\{tocdepth\}.*/\\setcounter{tocdepth}{1}/; \
                s/\\setcounter\{secnumdepth\}.*/\\setcounter{secnumdepth}{-1}/; \
                s/\\caption\\end/\\caption{} \\end/; \
@@ -109,6 +118,17 @@ lint-es: $(SOURCE).nb.xml
 lint-nb: $(SOURCE).nb.xml
        xmllint $(XMLLINTOPTS) $^
 
+check-urls:
+       retval=0; for u in $$(perl -n -e'/<ulink url="(.+)"\/>/ && print "$$1\n"' MadewithCreativeCommonsmostup-to-dateversion.xml | sort -u); do \
+         HEAD -H "User-Agent: Docbook XML URL checker" "$$u" > /dev/null || echo "error fetching $$u"; retval=1; \
+       done; exit $$retval
+
+# Experimental build rule to test Docbook XSL + FOP processor 
+xsl-fo-%.pdf: %.xml
+       xsltproc --output $(subst .pdf,.fo,$@) \
+         extra/stylesheet-fo.xsl $^; \
+       fop -fo $(subst .pdf,.fo,$@) -pdf $@
+
 status:
        for LANG in $(LANGS); do \
           printf "$$LANG "; msgfmt -o /dev/null --statistics po/$$LANG/mwcc.po; \