X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=Makefile;h=860e219beef476f25b8028d75ab2710ffe55695a;hb=ded22d4e923a6229cfe418445ae406114fe44853;hp=8b3d3582e9879a1f46af67ce12daef92b22b8fd9;hpb=e85e4da3e7ff8c27ce45ec1286ca587a01e6066c;p=developers-reference.git diff --git a/Makefile b/Makefile index 8b3d358..860e219 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ SOURCES := $(wildcard *.dbk) common.ent version.ent FORMATS := html txt pdf -LANGS := fr ja +LANGS := de fr ja TARGETS := $(foreach fmt,$(FORMATS),developers-reference.$(fmt)) \ $(foreach lng,$(LANGS), \ $(foreach fmt,$(FORMATS), \ @@ -34,9 +34,9 @@ TRANSLATE=po4a-translate --format docbook --keep 0 # note: the URL is used as identifier, no HTTP is used! DOCBOOK_XSL=http://docbook.sourceforge.net/release/xsl/current # for HTML output -DBK2HTML=$(PWD)/html.xsl +DBK2HTML=$(CURDIR)/html.xsl # all in one file for text output -DBK2HTML1=$(PWD)/txt.xsl +DBK2HTML1=$(CURDIR)/txt.xsl .PHONY: all all: $(filter-out $(BLACKLIST), $(TARGETS)) @@ -48,13 +48,26 @@ validate: $(SOURCES) %/validate: $(addprefix %/,$(SOURCES)) cd $(@D) && $(XL) index.dbk +# This rule controls the build and installation on the website +# Logs are here: http://www-master.debian.org/build-logs/ddp/ +.PHONY: publish +publish: all + [ -d $(PUBLISHDIR) ] || exit 1 + 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 --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 + .PHONY: developers-reference.html %/developers-reference.html -developers-reference.html: $(PWD)/index.html +developers-reference.html: $(CURDIR)/index.html %/developers-reference.html: $(addprefix %/,index.html) @true .PRECIOUS: %/index.html -index.html: $(PWD)/developers-reference.html +index.html: $(CURDIR)/developers-reference.html %/index.html: $(addprefix %/,$(SOURCES)) cd $(@D) && $(XP) $(DBK2HTML) index.dbk @@ -62,23 +75,27 @@ index.html: $(PWD)/developers-reference.html .PRECIOUS: %.dbk %.ent ifndef LINGUA %.dbk %.ent: FORCE - $(MAKE) $@ LINGUA=$(@D) + $(MAKE) $@ LINGUA=`basename $(@D)` FORCE: else $(LINGUA)/%.dbk: %.dbk $(patsubst %.dbk,po4a/$(LINGUA)/%.po,%.dbk) - $(TRANSLATE) -m $< -p po4a/$(@:.dbk=.po) -l $@ +# $(TRANSLATE) -m $< -p po4a/$(@:.dbk=.po) -l $@ -a ?po4a/$(@:.dbk=.add) +# workaround to "-a ?" only possible with po4a version in Squeeze, otherwise build is broken in Lenny + if [ -f po4a/$(@:.dbk=.add) ]; then \ + $(TRANSLATE) -m $< -p po4a/$(@:.dbk=.po) -l $@ -a po4a/$(@:.dbk=.add); else \ + $(TRANSLATE) -m $< -p po4a/$(@:.dbk=.po) -l $@; fi $(LINGUA)/common.ent: common.ent cd $(@D) && ln -sf ../$(@F) . endif -developers-reference.txt: $(PWD)/developers-reference.txt +developers-reference.txt: $(CURDIR)/developers-reference.txt %/developers-reference.txt: $(addprefix %/,$(SOURCES)) $(XP) $(DBK2HTML1) $(@D)/index.dbk \ - | w3m -cols 65 -dump -T text/html > $@ + | w3m -o display_charset=UTF-8 -cols 70 -dump -no-graph -T text/html > $@ -developers-reference.pdf: $(PWD)/developers-reference.pdf +developers-reference.pdf: $(CURDIR)/developers-reference.pdf %/developers-reference.pdf: $(addprefix %/,$(SOURCES)) TOP=`pwd` && cd $(@D) && $(DBLATEX) index.dbk \ && mv index.dbk.pdf $(@F) @@ -92,9 +109,20 @@ ifdef LINGUA .PHONY: updatepo updatepo: $(patsubst %.dbk,po4a/$(LINGUA)/%.po,$(SOURCES)) po4a/$(LINGUA)/%.po: %.dbk - po4a-updatepo --format docbook --master $< --po $@ + po4a-updatepo --previous --format docbook --master $< --po $@ endif +tidypo: + for po in $(wildcard po4a/*/*.po po4a/*/*.pot); do \ + msgcat $$po > $$po.tmp && mv $$po.tmp $$po; \ + done + +checkpo: + @for po in $(wildcard po4a/*/*.po po4a/*/*.pot); do \ + echo $$po; \ + msgfmt --check --verbose $$po; \ + done + %/version.ent: echo '' > $@ echo '' >> $@