-.PHONY: developers-reference.html
-developers-reference.html: $(SOURCES)
- $(XP) $(DBK2HTML) index.dbk
-
-developers-reference.%.html: developers-reference.%.sgml
- $(htmllink)
- $(DEBIANDOC2HTML) -l $* $<
-
-developers-reference.txt: $(SOURCES)
- $(XP) $(DBK2HTML1) index.dbk \
+.PHONY: developers-reference.html %/developers-reference.html
+developers-reference.html: $(PWD)/index.html
+%/developers-reference.html: $(addprefix %/,index.html)
+ @true
+
+.PRECIOUS: %/index.html
+index.html: $(PWD)/developers-reference.html
+%/index.html: $(addprefix %/,$(SOURCES))
+ mkdir -p $(@D) || true
+ cd $(@D) && $(XP) $(DBK2HTML) index.dbk
+
+# There must be an easier way than recursive make!
+.PRECIOUS: %.dbk
+ifndef LINGUA
+%.dbk: FORCE
+ [ "$$LINGUA" = . ] || make $@ LINGUA=$(@D)
+FORCE:
+else
+#.SECONDARY: $(LINGUA)/%.dbk
+$(LINGUA)/%.dbk: %.dbk $(patsubst %.dbk,po4a/$(LINGUA)/%.po,%.dbk)
+ $(TRANSLATE) -m $< -p po4a/$(@:.dbk=.po) -l $@
+endif
+
+developers-reference.txt: $(PWD)/developers-reference.txt
+%/developers-reference.txt: $(addprefix %/,$(SOURCES))
+ $(XP) $(DBK2HTML1) $(@D)/index.dbk \