1 # Makefile, used for the developers-reference in DocBook XML
3 SOURCES := $(wildcard *.dbk)
5 FORMATS := html txt pdf
7 TARGETS := $(foreach fmt,$(FORMATS),developers-reference.$(fmt)) \
8 $(foreach lng,$(LANGS), \
9 $(foreach fmt,$(FORMATS), \
10 $(lng)/developers-reference.$(fmt)))
11 # programs for creating output
12 XP=xsltproc --nonet --novalid --xinclude
13 XL=xmllint --nonet --noout --postvalid --xinclude
14 # fop is currently in contrib, but can go to main, see #366783
15 # alternatives: docbook2pdf (seems to die on UTF-8), dblatex (0.2.4
16 # just hangs here) and xmllint (not mature enough, waits in NEW)
18 # The "-k 0" should be removed as soon as the translations are ready
19 TRANSLATE=po4a-translate -f docbook -k 0
21 # XSL files and parameters
22 # note: the URL is used as identifier, no HTTP is used!
23 DOCBOOK_XSL=http://docbook.sourceforge.net/release/xsl/current
24 # one file per chapter
25 DBK2HTML=--stringparam chunk.section.depth 0 \
26 --stringparam section.autolabel 1 \
27 --stringparam use.id.as.filename 1 \
28 $(DOCBOOK_XSL)/xhtml/chunk.xsl
30 DBK2HTML1=--stringparam section.autolabel 1 \
31 $(DOCBOOK_XSL)/xhtml/docbook.xsl
33 # $(DOCBOOK_XSL)/fo/docbook.xsl
42 .PHONY: developers-reference.html %/developers-reference.html
43 developers-reference.html: $(PWD)/index.html
44 %/developers-reference.html: $(addprefix %/,index.html)
47 .PRECIOUS: %/index.html
48 index.html: $(PWD)/developers-reference.html
49 %/index.html: $(addprefix %/,$(SOURCES))
50 mkdir -p $(@D) || true
51 cd $(@D) && $(XP) $(DBK2HTML) index.dbk
53 # There must be an easier way than recursive make!
57 [ "$$LINGUA" = . ] || make $@ LINGUA=$(@D)
60 $(LINGUA)/%.dbk: %.dbk $(patsubst %.dbk,po4a/$(LINGUA)/%.po,%.dbk)
61 $(TRANSLATE) -m $< -p po4a/$(@:.dbk=.po) -l $@
64 developers-reference.txt: $(PWD)/developers-reference.txt
65 %/developers-reference.txt: $(addprefix %/,$(SOURCES))
66 $(XP) $(DBK2HTML1) $(@D)/index.dbk \
67 | w3m -cols 65 -dump -T text/html > $@
69 developers-reference.fo: $(PWD)/developers-reference.fo
72 %/developers-reference.fo: $(addprefix %/,$(SOURCES)) fop.xsl
73 TOP=`pwd` && cd $(@D) && $(XP) $(DBK2FO) index.dbk > $(@F)
75 developers-reference.pdf: $(PWD)/developers-reference.pdf
76 %/developers-reference.pdf: %/developers-reference.fo
79 version.ent: debian/changelog
84 rm -f *.fo *.html *.pdf *.txt
87 rm -f `find . -name "*~" -o -name "*.bak"`
88 rm -f *~ *.bak .#* core
94 # if rule bomb out, delete the target