X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=developers-reference.git;a=blobdiff_plain;f=Makefile;h=5c19b3bbf7f65b18688230e5f8c91a1ab3b04821;hp=54f9c1e58b1163e3257c9a235761ad37e92d5d51;hb=3d937a844b4beb5500d6bc38eb1e806f54ebbc69;hpb=927e904966a6ba5bc30ec634fb21a97d4d4c9c2b diff --git a/Makefile b/Makefile index 54f9c1e..5c19b3b 100644 --- a/Makefile +++ b/Makefile @@ -4,14 +4,14 @@ SOURCES := $(wildcard *.dbk) common.ent version.ent -FORMATS := html txt pdf -LANGS := fr ja +FORMATS := html txt pdf epub +LANGS := de fr ja TARGETS := $(foreach fmt,$(FORMATS),developers-reference.$(fmt)) \ $(foreach lng,$(LANGS), \ $(foreach fmt,$(FORMATS), \ $(lng)/developers-reference.$(fmt))) # list of targets, that currently cannot build -BLACKLIST := ja/developers-reference.pdf +#BLACKLIST := ja/developers-reference.pdf # hopefully overwritten by caller, e.g. debian/rules VERSION=unknown @@ -27,8 +27,7 @@ XL=xmllint --nonet --noout --postvalid --xinclude # - fop is currently in contrib, but can go to main, see #366783 # - xmlroff (not mature enough, #182445) DBLATEX=dblatex --style=db2latex -# The "--keep 0" should be removed as soon as the translations are ready -TRANSLATE=po4a-translate --format docbook --keep 0 +TRANSLATE=po4a po4a/po4a.cfg # XSL files and parameters # note: the URL is used as identifier, no HTTP is used! @@ -56,10 +55,11 @@ publish: all install -d -m 755 $(PUBLISHDIR)/developers-reference rm -f $(PUBLISHDIR)/developers-reference/*.html rm -f en && ln -sf . en - $(foreach format,$(FORMATS),$(foreach lang,en $(LANGS),for file in $(lang)/*.$(format); do if [ -e "$$file" ]; then cp $$file $(PUBLISHDIR)/developers-reference/$$(basename $$file .$(format)).$(lang).$(format); fi; done;)) + $(foreach format,$(FORMATS),$(foreach lang,en $(LANGS),for file in $(lang)/*.$(format); do if [ -e "$$file" ]; then cp --preserve=timestamps $$file $(PUBLISHDIR)/developers-reference/$$(basename $$file .$(format)).$(lang).$(format); fi; done;)) ln -sf index.en.html $(PUBLISHDIR)/developers-reference/index.html ln -sf developers-reference.en.pdf $(PUBLISHDIR)/developers-reference/developers-reference.pdf ln -sf developers-reference.en.txt $(PUBLISHDIR)/developers-reference/developers-reference.txt + ln -sf developers-reference.en.epub $(PUBLISHDIR)/developers-reference/developers-reference.epub .PHONY: developers-reference.html %/developers-reference.html developers-reference.html: $(CURDIR)/index.html @@ -75,12 +75,13 @@ index.html: $(CURDIR)/developers-reference.html .PRECIOUS: %.dbk %.ent ifndef LINGUA %.dbk %.ent: FORCE + $(TRANSLATE) $(MAKE) $@ LINGUA=`basename $(@D)` FORCE: else -$(LINGUA)/%.dbk: %.dbk $(patsubst %.dbk,po4a/$(LINGUA)/%.po,%.dbk) - $(TRANSLATE) -m $< -p po4a/$(@:.dbk=.po) -l $@ +$(LINGUA)/%.dbk: %.dbk po4a/$(LINGUA).po + $(TRANSLATE) $(LINGUA)/common.ent: common.ent cd $(@D) && ln -sf ../$(@F) . @@ -89,32 +90,52 @@ endif developers-reference.txt: $(CURDIR)/developers-reference.txt %/developers-reference.txt: $(addprefix %/,$(SOURCES)) $(XP) $(DBK2HTML1) $(@D)/index.dbk \ - | w3m -cols 70 -dump -no-graph -T text/html > $@ + | LC_ALL=C.UTF-8 w3m -o display_charset=UTF-8 -cols 70 -dump -no-graph -T text/html > $@ + +XSLT := xslt developers-reference.pdf: $(CURDIR)/developers-reference.pdf %/developers-reference.pdf: $(addprefix %/,$(SOURCES)) - TOP=`pwd` && cd $(@D) && $(DBLATEX) index.dbk \ - && mv index.dbk.pdf $(@F) + $(DBLATEX) $(@D)/index.dbk \ + --backend=xetex \ + --xsl-user=$(XSLT)/user_param.xsl \ + --xsl-user=$(XSLT)/xetex_param.xsl \ + --param=lingua=$(@D) \ + && mv $(@D)/index.dbk.pdf $@ + +developers-reference.epub: $(CURDIR)/developers-reference.epub +%/developers-reference.epub: $(addprefix %/,$(SOURCES)) + TOP=`pwd` && cd $(@D) && xmlto epub index.dbk && mv index.epub $(@F) .PHONY: pot -pot: $(patsubst %.dbk,po4a/po/%.pot,$(SOURCES)) -po4a/po/%.pot: %.dbk - po4a-gettextize --format docbook --master $< --po $@ +pot: po4a/po/developers-reference.pot +po4a/po/developers-reference.pot: %.dbk + $(TRANSLATE) ifdef LINGUA .PHONY: updatepo -updatepo: $(patsubst %.dbk,po4a/$(LINGUA)/%.po,$(SOURCES)) -po4a/$(LINGUA)/%.po: %.dbk - po4a-updatepo --format docbook --master $< --po $@ +updatepo: po4a/po/$(LINGUA).po +po4a/po/$(LINGUA).po: %.dbk + $(TRANSLATE) endif +tidypo: + for po in po4a/po/*.po; do \ + msgcat -o $$po $$po; \ + done + +checkpo: + @for po in po4a/po/*.po; do \ + msgfmt -vv $$po; \ + done + %/version.ent: echo '' > $@ echo '' >> $@ .PHONY: clean clean: - rm -f *.fo *.html *.pdf *.txt + rm -f *.fo *.html *.pdf *.txt *.epub for L in $(LANGS); do rm -rf `basename ./"$$L"/`; done rm -f version.ent rm -f `find . -name "*~" -o -name "*.bak"`