- rm -f $(PUBLISHDIR)/$(MANUAL)/*.html
- $(make_directory) $(PUBLISHDIR)/$(MANUAL)
- $(install_file) developers-reference*.html/*.html developers-reference*pdf \
- $(PUBLISHDIR)/$(MANUAL)
- ln -sf index.en.html $(PUBLISHDIR)/$(MANUAL)/index.html
- ln -sf developers-reference.pdf $(PUBLISHDIR)/$(MANUAL)/developers-reference.en.pdf
-
-developers-reference.html: developers-reference.sgml
- $(htmllink)
- $(DEBIANDOC2HTML) -l en $<
-
-developers-reference.html/*: developers-reference.html
-
-developers-reference.%.html: developers-reference.%.sgml
- $(htmllink)
- $(DEBIANDOC2HTML) -l $* $<
-
-developers-reference.txt: developers-reference.sgml
- $(nohtmllink)
- $(DEBIANDOC2TEXT) -l en -O $< > $@
-
-developers-reference.%.txt: developers-reference.%.sgml
- $(nohtmllink)
- $(DEBIANDOC2TEXT) -l $* -O $< > $@
-
-developers-reference.tex: developers-reference.sgml
- $(nohtmllink)
- $(DEBIANDOC2LATEX) -l en -O $< > $@
-
-developers-reference.%.tex: developers-reference.%.sgml
- $(nohtmllink)
- $(DEBIANDOC2LATEX) -l $* -O $< > $@
-
-developers-reference.ps: developers-reference.sgml
- $(nohtmllink)
- $(DEBIANDOC2PS) -l en $<
-
-developers-reference.%.ps: developers-reference.%.sgml
- $(nohtmllink)
- $(DEBIANDOC2PS) -l $* $<
-
-developers-reference.pdf: developers-reference.sgml
- $(nohtmllink)
- $(DEBIANDOC2PDF) -l en $<
-
-developers-reference.%.pdf: developers-reference.%.sgml
- $(nohtmllink)
- $(DEBIANDOC2PDF) -l $* $<
-
-version.ent: debian/changelog
- ./debian/rules $@
-
-%.validate : % version.ent
- nsgmls -wall -gues $<
- touch $@
-
-USERMAP := ../../ddp/CVSROOT/users
-.PHONY: prepare
-prepare: ChangeLog
- cvs ci -m "update for next release" ChangeLog
-
-.PHONY: ChangeLog
-ChangeLog:
- @[ -f CVS/Root -a -f $(USERMAP) ] || \
- ( echo "usermap file '$(USERMAP)' not found" 1>&2; exit 1 )
- cvs2cl -r --usermap $(USERMAP)
+ 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: $(CURDIR)/index.html
+%/developers-reference.html: $(addprefix %/,index.html)
+ @true
+
+.PRECIOUS: %/index.html
+index.html: $(CURDIR)/developers-reference.html
+%/index.html: $(addprefix %/,$(SOURCES))
+ cd $(@D) && $(XP) $(DBK2HTML) index.dbk
+
+# There must be an easier way than recursive make!
+.PRECIOUS: %.dbk %.ent
+ifndef LINGUA
+%.dbk %.ent: FORCE
+ $(TRANSLATE)
+ $(MAKE) $@ LINGUA=`basename $(@D)`
+
+FORCE:
+else
+$(LINGUA)/%.dbk: %.dbk po4a/$(LINGUA).po
+ $(TRANSLATE)
+
+$(LINGUA)/common.ent: common.ent
+ cd $(@D) && ln -sf ../$(@F) .
+endif
+
+developers-reference.txt: $(CURDIR)/developers-reference.txt
+%/developers-reference.txt: $(addprefix %/,$(SOURCES))
+ $(XP) $(DBK2HTML1) $(@D)/index.dbk \
+ | 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))
+ $(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 $@
+
+.PHONY: pot
+pot: po4a/po/developers-reference.pot
+po4a/po/developers-reference.pot: %.dbk
+ $(TRANSLATE)
+
+ifdef LINGUA
+.PHONY: updatepo
+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 '<!ENTITY version "$(VERSION)">' > $@
+ echo '<!ENTITY pubdate "$(PUBDATE)">' >> $@