hgbook

view Makefile @ 890:2887b61fa4fe

Change fields to fieldsets in the Comment admin model. The 'date'
field isn't working properly for an unknown reason, so it has been
removed from the interface temporarily.
author dukebody <dukebody@gmail.com>
date Sun Oct 11 21:12:46 2009 +0200 (2009-10-11)
parents 55e2953f82d6
children a821682ea3a5
line source
1 #
2 # Makefile for the hgbook, top-level
3 #
4 include Makefile.vars
6 FORMATS=html html-single pdf epub
8 PO_LANGUAGES := zh
9 DBK_LANGUAGES := en
10 LANGUAGES := $(DBK_LANGUAGES) $(PO_LANGUAGES)
12 UPDATEPO = PERLLIB=$(PO4A_LIB) $(PO4A_HOME)/po4a-updatepo -M UTF-8 \
13 -f docbook -o doctype=docbook -o includeexternal \
14 -o nodefault="<programlisting> <screen>" \
15 -o untranslated="<programlisting> <screen>"
16 TRANSLATE = PERLLIB=$(PO4A_LIB) $(PO4A_HOME)/po4a-translate -M UTF-8 \
17 -f docbook -o doctype=docbook -o includeexternal \
18 -o nodefault="<programlisting> <screen>" \
19 -o untranslated="<programlisting> <screen>" \
20 -k 0
22 #rev_id = $(shell hg parents --template '{node|short} ({date|isodate})')
23 rev_id = $(shell hg parents --template '{node|short} ({date|shortdate})')
25 images := \
26 en/figs/bad-merge-1.png \
27 en/figs/bad-merge-2.png \
28 en/figs/bad-merge-3.png \
29 en/figs/bad-merge-4.png \
30 en/figs/bad-merge-5.png \
31 en/figs/feature-branches.png \
32 en/figs/filelog.png \
33 en/figs/metadata.png \
34 en/figs/mq-stack.png \
35 en/figs/revlog.png \
36 en/figs/snapshot.png \
37 en/figs/tour-history.png \
38 en/figs/tour-merge-conflict.png \
39 en/figs/tour-merge-merge.png \
40 en/figs/tour-merge-pull.png \
41 en/figs/tour-merge-sep-repos.png \
42 en/figs/undo-manual-merge.png \
43 en/figs/undo-manual.png \
44 en/figs/undo-non-tip.png \
45 en/figs/undo-simple.png \
46 en/figs/wdir-after-commit.png \
47 en/figs/wdir-branch.png \
48 en/figs/wdir-merge.png \
49 en/figs/wdir.png \
50 en/figs/wdir-pre-branch.png
52 help:
53 @echo " make epub [LINGUA=en|zh|...]"
54 @echo " make html [LINGUA=en|zh|...]"
55 @echo " make html-single [LINGUA=en|zh|...]"
56 @echo " make pdf [LINGUA=en|zh|...]"
57 @echo " make validate [LINGUA=en|zh|...] # always before commit!"
58 @echo " make tidypo [LINGUA=zh|...] # always before commit!"
59 @echo " make updatepo [LINGUA=zh|...] # update po files."
60 @echo " make all [LINGUA=en|zh|...]"
61 @echo " make stat # print statistics about po files."
62 @echo " make clean # Remove the build files."
64 clean:
65 @rm -fr build po/*.mo hello en/hello en/html en/.validated-00book.xml en/examples/.run en/examples/results \
66 stylesheets/system-xsl en/figs/*-tmp.svg \
67 web/index-read.html.in \
68 en/figs/bad-merge-1.png \
69 en/figs/bad-merge-2.png \
70 en/figs/bad-merge-3.png \
71 en/figs/bad-merge-4.png \
72 en/figs/bad-merge-5.png \
73 en/figs/feature-branches.png \
74 en/figs/filelog.png \
75 en/figs/feature-branches.png \
76 en/figs/filelog.png \
77 en/figs/metadata.png \
78 en/figs/mq-stack.png \
79 en/figs/revlog.png \
80 en/figs/snapshot.png \
81 en/figs/tour-history.png \
82 en/figs/tour-merge-conflict.png \
83 en/figs/tour-merge-merge.png \
84 en/figs/tour-merge-pull.png \
85 en/figs/tour-merge-sep-repos.png \
86 en/figs/undo-manual-merge.png \
87 en/figs/undo-manual.png \
88 en/figs/undo-non-tip.png \
89 en/figs/undo-simple.png \
90 en/figs/wdir-after-commit.png \
91 en/figs/wdir-branch.png \
92 en/figs/wdir-merge.png \
93 en/figs/wdir-pre-branch.png \
94 en/figs/wdir.png
96 all:
97 ifdef LINGUA
98 for f in $(FORMATS); do \
99 $(MAKE) LINGUA=$(LINGUA) $$f; \
100 done
101 else
102 for l in $(LANGUAGES); do \
103 for f in $(FORMATS); do \
104 $(MAKE) LINGUA=$$l $$f; \
105 done; \
106 done
107 endif
109 stat:
110 @( \
111 LANG=C; export LANG; cd po; \
112 for f in *.po; do \
113 printf "%s\t" $$f; \
114 msgfmt --statistics -c $$f; \
115 done; \
116 )
118 tidypo:
119 ifdef LINGUA
120 msgcat --sort-by-file --width=80 po/$(LINGUA).po > po/$(LINGUA).tmp && \
121 mv po/$(LINGUA).tmp po/$(LINGUA).po;
122 else
123 for po in $(wildcard po/*.po); do \
124 msgcat --sort-by-file --width=80 $$po > $$po.tmp && mv $$po.tmp $$po; \
125 done
126 endif
128 ifndef LINGUA
129 updatepo:
130 for l in $(PO_LANGUAGES); do \
131 $(MAKE) $@ LINGUA=$$l; \
132 done
133 else
134 updatepo:
135 ifneq "$(findstring $(LINGUA),$(PO_LANGUAGES))" ""
136 (cd po; \
137 $(UPDATEPO) -m ../en/00book.xml -p $(LINGUA).po; \
138 )
139 $(MAKE) tidypo LINGUA=$(LINGUA)
140 endif
141 endif
143 ifndef LINGUA
144 validate:
145 for l in $(LANGUAGES); do \
146 $(MAKE) $@ LINGUA=$$l; \
147 done
148 else
149 validate: build/$(LINGUA)/source/hgbook.xml
150 xmllint --nonet --noout --postvalid --xinclude $<
152 ifneq "$(findstring $(LINGUA),$(DBK_LANGUAGES))" ""
153 $(LINGUA)/examples/.run:
154 (cd $(LINGUA)/examples; ./run-example -v -a)
156 build/$(LINGUA)/source/hgbook.xml: $(wildcard $(LINGUA)/*.xml) $(images) $(LINGUA)/examples/.run
157 mkdir -p build/$(LINGUA)/source/figs
158 cp $(LINGUA)/figs/*.png build/$(LINGUA)/source/figs
159 cp stylesheets/hgbook.css build/$(LINGUA)/source
160 (cd $(LINGUA); xmllint --nonet --noent --xinclude --postvalid --output ../$@.tmp 00book.xml)
161 cat $@.tmp | sed 's/\$$rev_id\$$/${rev_id}/' > $@
162 else
163 en/examples/.run:
164 (cd en/examples; ./run-example -v -a)
166 build/en/source/hgbook.xml:
167 ${MAKE} LINGUA=en $@
169 build/$(LINGUA)/source/hgbook.xml: $(wildcard en/*.xml) po/$(LINGUA).po $(images)
170 mkdir -p build/$(LINGUA)/source/figs
171 cp en/figs/*.png build/$(LINGUA)/source/figs
172 cp stylesheets/hgbook.css build/$(LINGUA)/source
173 $(TRANSLATE) -m en/00book.xml -p po/$(LINGUA).po -l en/hgbook.xml.$(LINGUA)
174 xmllint --nonet --noent --xinclude --postvalid --output $@.tmp en/hgbook.xml.$(LINGUA)
175 cat $@.tmp | sed 's/\$$rev_id\$$/${rev_id}/' > $@
176 mv en/hgbook.xml.$(LINGUA) build/$(LINGUA)/source
177 endif
179 endif
181 ifndef LINGUA
182 epub:
183 for l in $(LANGUAGES); do \
184 $(MAKE) $@ LINGUA=$$l; \
185 done
186 else
187 epub: build/$(LINGUA)/epub/hgbook.epub
189 build/$(LINGUA)/epub/hgbook.epub: build/$(LINGUA)/source/hgbook.xml
190 mkdir -p build/$(LINGUA)/epub
191 (cd build/$(LINGUA)/source; $(DB2EPUB) -c hgbook.css -v hgbook.xml; mv hgbook.epub ../epub)
192 endif
194 ifndef LINGUA
195 html:
196 for l in $(LANGUAGES); do \
197 $(MAKE) $@ LINGUA=$$l; \
198 done
199 else
200 html: build/$(LINGUA)/html/index.html
202 build/$(LINGUA)/html/index.html: build/$(LINGUA)/source/hgbook.xml stylesheets/html.xsl stylesheets/$(LINGUA)/html.xsl
203 mkdir -p build/$(LINGUA)/html/figs
204 cp en/figs/*.png build/$(LINGUA)/html/figs
205 cp stylesheets/hgbook.css build/$(LINGUA)/html
206 xsltproc --output build/$(LINGUA)/html/ \
207 stylesheets/$(LINGUA)/html.xsl build/$(LINGUA)/source/hgbook.xml
208 endif
210 ifndef LINGUA
211 html-single:
212 for l in $(LANGUAGES); do \
213 $(MAKE) $@ LINGUA=$$l; \
214 done
215 else
216 html-single: build/$(LINGUA)/html-single/hgbook.html
218 build/$(LINGUA)/html-single/hgbook.html: build/$(LINGUA)/source/hgbook.xml stylesheets/html-single.xsl stylesheets/$(LINGUA)/html-single.xsl
219 mkdir -p build/$(LINGUA)/html-single/figs
220 cp en/figs/*.png build/$(LINGUA)/html-single/figs
221 cp stylesheets/hgbook.css build/$(LINGUA)/html-single
222 xsltproc --output build/$(LINGUA)/html-single/hgbook.html \
223 stylesheets/$(LINGUA)/html-single.xsl build/$(LINGUA)/source/hgbook.xml
224 endif
226 ifndef LINGUA
227 pdf:
228 for l in $(LANGUAGES); do \
229 $(MAKE) $@ LINGUA=$$l; \
230 done
231 else
232 pdf: build/$(LINGUA)/pdf/hgbook.pdf
234 build/$(LINGUA)/pdf/hgbook.pdf: build/$(LINGUA)/source/hgbook.xml stylesheets/fo.xsl stylesheets/$(LINGUA)/fo.xsl
235 mkdir -p build/$(LINGUA)/pdf
236 java -classpath $(JAVA_LIB)/saxon65.jar:$(JAVA_LIB)/saxon65-dbxsl.jar:$(JAVA_LIB)/xml-commons-resolver-1.2.jar:$(JAVA_LIB) \
237 com.icl.saxon.StyleSheet \
238 -x org.apache.xml.resolver.tools.ResolvingXMLReader \
239 -y org.apache.xml.resolver.tools.ResolvingXMLReader \
240 -r org.apache.xml.resolver.tools.CatalogResolver \
241 -o build/$(LINGUA)/source/hgbook.fo \
242 build/$(LINGUA)/source/hgbook.xml \
243 stylesheets/$(LINGUA)/fo.xsl \
244 fop1.extensions=1
246 (cd build/$(LINGUA)/source && $(FOP_HOME)/fop.sh -c $(FOP_HOME)/conf/userconfig.xml hgbook.fo ../pdf/hgbook.pdf)
247 endif
249 en/figs/%.png: en/figs/%.svg en/fixsvg
250 en/fixsvg $<
251 inkscape -D -d 120 -e $@ $<-tmp.svg
253 en/figs/%.svg: en/figs/%.dot
254 dot -Tsvg -o $@ $<