SOURCE=how-to-destroy-surveillance-capitalism
-GENERATED = $(SOURCE).xml $(SOURCE).pdf \
- $(SOURCE).nb.xml $(SOURCE).nb.pdf
+GENERATED = $(SOURCE).xml $(SOURCE).pdf $(SOURCE).html $(SOURCE).epub \
+ $(SOURCE).nb.xml $(SOURCE).nb.pdf $(SOURCE).nb.html $(SOURCE).nb.epub
PANDOC_OPTS = \
-t docbook4
DBLATEX_OPTS = \
- -T simple \
- -P page.width=6in \
- -P page.height=9in \
- -P page.margin.inner=0.8in \
- -P page.margin.outer=0.55in \
- -P page.margin.top=0.55in \
- -P page.margin.bottom=0.55in \
- -P ulink.show=1 \
- -P ulink.footnotes=1 \
- -P double.sided=1 \
- -P doc.collab.show=0 \
- -P latex.output.revhistory=0 \
- -P draft.mode=yes -Pdraft.watermark=1 \
-p pdf.xsl
all: $(GENERATED)
# Workaround for missing titles
-complete-book.xml: $(SOURCE).xml Makefile book.xml
+$(SOURCE).xml: $(SOURCE)-body.xml Makefile book.xml bookinfo.xml
xmllint --nonet --xinclude --postvalid book.xml > $@.new && \
mv $@.new $@
-$(SOURCE).pdf: complete-book.xml Makefile
- dblatex $(DBLATEX_OPTS) complete-book.xml -o $@
+$(SOURCE).pdf: $(SOURCE).xml Makefile pdf.xsl
+ dblatex $(DBLATEX_OPTS) $(SOURCE).xml -o $@
-$(SOURCE).xml: $(SOURCE).rst Makefile
- pandoc -s -o $@ $(PANDOC_OPTS) $(SOURCE).rst
+$(SOURCE)-body.xml: $(SOURCE)-body.rst Makefile
+ pandoc -s -o $@ $(PANDOC_OPTS) $(SOURCE)-body.rst
sed -i \
-e 's%“%<quote>%g' \
-e 's%”%</quote>%g' $@
-po/$(SOURCE).pot: complete-book.xml
- po4a-gettextize -f docbook -m complete-book.xml \
+po/$(SOURCE).pot: $(SOURCE).xml
+ po4a-gettextize -f docbook -m $(SOURCE).xml \
-M UTF-8 -L UTF-8 \
--package-name "How to Destroy Surveillance Capitalism" \
--copyright-holder "Cory Doctorow" \
po/$(SOURCE).%.po: po/$(SOURCE).pot
po4a --no-translations --msgmerge-opt --no-location po4a.cfg
-$(SOURCE).nb.xml: po/$(SOURCE).nb.po complete-book.xml
+$(SOURCE).nb.xml: po/$(SOURCE).nb.po $(SOURCE).xml
po4a --translate-only $(SOURCE).nb.xml po4a.cfg
-$(SOURCE).nb.pdf: $(SOURCE).nb.xml Makefile
+$(SOURCE).nb.pdf: $(SOURCE).nb.xml Makefile pdf.xsl
dblatex $(DBLATEX_OPTS) $(SOURCE).nb.xml -o $@
+.xml.epub:
+ dbtoepub -s epub.xsl $^ -o $@
+
+.xml.html:
+ xmlto -x docbook-utf8.xsl -m pdf.xsl html-nochunks $^
+
XMLLINTOPTS = --nonet --noout --xinclude --postvalid
lint: book.xml
xmllint $(XMLLINTOPTS) $^
clean:
- $(RM) *~ $(GENERATED) complete-book.xml
+ $(RM) *~ $(GENERATED) $(SOURCE).xml
distclean: clean
stats:
for f in po/*.po; do printf "$$f "; msgfmt --output /dev/null --statistics $$f; done
+
+.SUFFIXES: .xml .html .pdf .epub