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