/[ddp]/manuals/trunk/developers-reference/Makefile
ViewVC logotype

Contents of /manuals/trunk/developers-reference/Makefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5237 - (hide annotations) (download)
Fri Jun 13 13:36:31 2008 UTC (5 years ago) by debacle
File size: 3411 byte(s)
Improved text output. (Better parametrisation of XSL and w3m.)
1 debacle 4903 # Makefile, used for the developers-reference in DocBook XML
2 debacle 4902
3 debacle 4912 # Note: This Makefile should work perfectly without the debian/ directory.
4 debacle 4902
5 debacle 4912 SOURCES := $(wildcard *.dbk) common.ent version.ent
6    
7 debacle 4907 FORMATS := html txt pdf
8     LANGS := fr ja
9     TARGETS := $(foreach fmt,$(FORMATS),developers-reference.$(fmt)) \
10     $(foreach lng,$(LANGS), \
11     $(foreach fmt,$(FORMATS), \
12     $(lng)/developers-reference.$(fmt)))
13 debacle 4948 # list of targets, that currently cannot build
14     BLACKLIST := ja/developers-reference.pdf
15 debacle 4912
16     # hopefully overwritten by caller, e.g. debian/rules
17     VERSION=unknown
18     PUBDATE=unknown
19    
20 debacle 4902 # programs for creating output
21 debacle 4903 XP=xsltproc --nonet --novalid --xinclude
22     XL=xmllint --nonet --noout --postvalid --xinclude
23 debacle 4948 # dblatex 0.2.8 has some problems (e.g. #465221 and Japanese does
24     # not build)
25 debacle 4910 # Alternatives:
26     # - docbook2pdf (seems to die on UTF-8, #431085); and
27 debacle 4933 # - fop is currently in contrib, but can go to main, see #366783
28 debacle 4913 # - xmlroff (not mature enough, #182445)
29 debacle 4933 DBLATEX=dblatex --style=db2latex
30 debacle 4912 # The "--keep 0" should be removed as soon as the translations are ready
31     TRANSLATE=po4a-translate --format docbook --keep 0
32 debacle 4903
33 debacle 4907 # XSL files and parameters
34 debacle 4903 # note: the URL is used as identifier, no HTTP is used!
35     DOCBOOK_XSL=http://docbook.sourceforge.net/release/xsl/current
36 debacle 4935 # for HTML output
37 debacle 4954 DBK2HTML=$(CURDIR)/html.xsl
38 debacle 4935 # all in one file for text output
39 debacle 4954 DBK2HTML1=$(CURDIR)/txt.xsl
40 debacle 4903
41 debacle 4907 .PHONY: all
42 debacle 4948 all: $(filter-out $(BLACKLIST), $(TARGETS))
43 debacle 4903
44 debacle 4902 .PHONY: validate
45 debacle 4910 validate: $(SOURCES)
46 debacle 4903 $(XL) index.dbk
47 debacle 4902
48 debacle 4910 %/validate: $(addprefix %/,$(SOURCES))
49     cd $(@D) && $(XL) index.dbk
50    
51 debacle 4907 .PHONY: developers-reference.html %/developers-reference.html
52 debacle 4954 developers-reference.html: $(CURDIR)/index.html
53 debacle 4907 %/developers-reference.html: $(addprefix %/,index.html)
54     @true
55 debacle 4902
56 debacle 4907 .PRECIOUS: %/index.html
57 debacle 4954 index.html: $(CURDIR)/developers-reference.html
58 debacle 4907 %/index.html: $(addprefix %/,$(SOURCES))
59     cd $(@D) && $(XP) $(DBK2HTML) index.dbk
60 debacle 4902
61 debacle 4907 # There must be an easier way than recursive make!
62 debacle 4910 .PRECIOUS: %.dbk %.ent
63 debacle 4907 ifndef LINGUA
64 debacle 4910 %.dbk %.ent: FORCE
65 debacle 4954 $(MAKE) $@ LINGUA=`basename $(@D)`
66 debacle 4912
67 debacle 4907 FORCE:
68     else
69     $(LINGUA)/%.dbk: %.dbk $(patsubst %.dbk,po4a/$(LINGUA)/%.po,%.dbk)
70     $(TRANSLATE) -m $< -p po4a/$(@:.dbk=.po) -l $@
71 debacle 4910
72 debacle 4933 $(LINGUA)/common.ent: common.ent
73 debacle 4910 cd $(@D) && ln -sf ../$(@F) .
74 debacle 4907 endif
75    
76 debacle 4954 developers-reference.txt: $(CURDIR)/developers-reference.txt
77 debacle 4907 %/developers-reference.txt: $(addprefix %/,$(SOURCES))
78     $(XP) $(DBK2HTML1) $(@D)/index.dbk \
79 debacle 5237 | w3m -cols 70 -dump -no-graph -T text/html > $@
80 debacle 4902
81 debacle 4954 developers-reference.pdf: $(CURDIR)/developers-reference.pdf
82 debacle 4933 %/developers-reference.pdf: $(addprefix %/,$(SOURCES))
83     TOP=`pwd` && cd $(@D) && $(DBLATEX) index.dbk \
84     && mv index.dbk.pdf $(@F)
85 debacle 4902
86 debacle 4912 .PHONY: pot
87     pot: $(patsubst %.dbk,po4a/po/%.pot,$(SOURCES))
88     po4a/po/%.pot: %.dbk
89     po4a-gettextize --format docbook --master $< --po $@
90 debacle 4902
91 debacle 4912 ifdef LINGUA
92     .PHONY: updatepo
93     updatepo: $(patsubst %.dbk,po4a/$(LINGUA)/%.po,$(SOURCES))
94     po4a/$(LINGUA)/%.po: %.dbk
95     po4a-updatepo --format docbook --master $< --po $@
96     endif
97    
98 debacle 4933 %/version.ent:
99 debacle 4912 echo '<!ENTITY version "$(VERSION)">' > $@
100     echo '<!ENTITY pubdate "$(PUBDATE)">' >> $@
101    
102 debacle 4902 .PHONY: clean
103     clean:
104 debacle 4903 rm -f *.fo *.html *.pdf *.txt
105 debacle 4948 for L in $(LANGS); do rm -rf `basename ./"$$L"/`; done
106 debacle 4902 rm -f version.ent
107     rm -f `find . -name "*~" -o -name "*.bak"`
108     rm -f *~ *.bak .#* core
109    
110     .PHONY: distclean
111     distclean: clean
112     rm -f *.rej *.orig
113    
114     # if rule bomb out, delete the target
115     .DELETE_ON_ERROR:

  ViewVC Help
Powered by ViewVC 1.1.5