hgbook

annotate en/Makefile @ 1114:527b86d55d4a

inotify: update installation information

inotify is shipped in Mercurial since 1.0, which greatly simplifies the installation process
author Nicolas Dumazet <nicdumz.commits@gmail.com>
date Sun Dec 13 16:35:56 2009 +0900 (2009-12-13)
parents 3b33dd6aba87
children
rev   line source
bos@18 1 # This makefile requires GNU make.
bos@18 2
bos@595 3 image-sources := $(wildcard figs/*.dot figs/*.gif figs/*.png figs/*.svg)
bos@103 4
bos@558 5 xml-src-files := \
bos@558 6 00book.xml \
bos@559 7 app*.xml \
bos@559 8 ch*.xml
bos@558 9
bos@124 10 image-dot := $(filter %.dot,$(image-sources))
bos@103 11 image-svg := $(filter %.svg,$(image-sources))
bos@595 12 image-oth := $(filter %.gif %.png,$(image-sources))
bos@11 13
bos@594 14 obj-web := html
bos@594 15 obj-websup := $(obj-web)/support
bos@594 16 obj-web-read := $(obj-web)/read
bos@594 17
bos@594 18 image-web := \
bos@594 19 $(image-dot:%.dot=$(obj-web-read)/%.png) \
bos@594 20 $(image-svg:%.svg=$(obj-web-read)/%.png) \
bos@595 21 $(image-oth:%=$(obj-web-read)/%)
bos@213 22
bos@580 23 example-sources-by-name := \
bos@124 24 backout \
bos@131 25 bisect \
bos@179 26 branching \
bos@202 27 branch-named \
bos@198 28 branch-repo \
bos@133 29 cmdref \
bos@117 30 daily.copy \
bos@86 31 daily.files \
bos@118 32 daily.rename \
bos@122 33 daily.revert \
bos@226 34 extdiff \
bos@133 35 filenames \
bos@86 36 hook.msglen \
bos@86 37 hook.simple \
bos@156 38 issue29 \
bos@104 39 mq.guards \
bos@86 40 mq.qinit-help \
bos@86 41 mq.dodiff \
bos@86 42 mq.id \
bos@86 43 mq.tarball \
bos@86 44 mq.tools \
bos@86 45 mq.tutorial \
bos@156 46 rename.divergent \
bos@121 47 rollback \
bos@196 48 tag \
bos@86 49 template.simple \
bos@87 50 template.svnstyle \
bos@103 51 tour \
bos@103 52 tour-merge-conflict
bos@4 53
bos@580 54 example-sources := \
bos@580 55 $(example-sources-by-name:%=examples/%) \
bos@580 56 $(wildcard examples/ch*/*)
bos@580 57
bos@575 58 extras-web-base := \
bos@575 59 $(obj-web)/index.html \
bos@575 60 $(obj-web)/robots.txt \
bos@575 61 $(obj-websup)/form-min.js \
bos@575 62 $(obj-websup)/form.js \
bos@575 63 $(obj-websup)/hsbook.js \
bos@575 64 $(obj-websup)/jquery-min.js \
bos@575 65 $(obj-websup)/jquery.js \
bos@575 66 $(obj-websup)/styles.css
bos@575 67
bos@575 68 extras-web := $(extras-web-base) $(extras-web-base:%=%.gz)
bos@575 69
bos@558 70 xsltproc := xsltproc
bos@558 71 xsltproc-opts := --nonet --xinclude --path '$(xml-path)'
bos@558 72
bos@558 73 xmllint := xmllint
bos@558 74 xmllint-opts := --noout --nonet --valid
bos@558 75
bos@558 76 system-xsl-dir := $(firstword $(wildcard \
bos@558 77 /usr/share/sgml/docbook/xsl-stylesheets \
bos@558 78 /usr/share/xml/docbook/stylesheet/nwalsh \
bos@558 79 ))
bos@558 80
bos@558 81 # Bletcherousness.
bos@558 82
bos@558 83 ifneq ($(wildcard /usr/share/sgml/docbook/xml-dtd-4.4-*),)
bos@558 84 dtd-dir := $(wildcard /usr/share/sgml/docbook/xml-dtd-4.4-*)
bos@558 85 else
bos@558 86 ifneq ($(wildcard /usr/share/xml/docbook/schema/dtd/4.4),)
bos@558 87 dtd-dir := $(wildcard /usr/share/xml/docbook/schema/dtd/4.4)
bos@558 88 else
bos@558 89 $(error Do not know where to look for DocBook XML 4.4 DTD)
bos@558 90 endif
bos@558 91 endif
bos@558 92
bos@558 93 ifeq ($(system-xsl-dir),)
bos@558 94 $(error add a suitable directory to system-xsl-dir)
bos@558 95 endif
bos@558 96
bos@172 97 example-prereqs := \
bos@172 98 /usr/bin/merge
bos@172 99
bos@157 100 dist-sources := \
bos@159 101 ../html/hgicon.png \
bos@157 102 ../html/index.html.var \
bos@157 103 ../html/index.en.html
bos@157 104
bos@177 105 hg = $(shell which hg)
bos@177 106
bos@269 107 hg-id = $(shell hg parents --template '{node|short}, dated {date|isodate},\n')
bos@177 108
bos@177 109 hg-version = $(shell hg version -q | \
bos@242 110 sed 's,.*(version \(unknown\|[a-f0-9+]*\)),\1,')
bos@177 111
bos@613 112 all: web complete.xml
bos@149 113
dongsheng@654 114 ../stylesheets/system-xsl: $(system-xsl-dir)
bos@558 115 ln -s $< $@
bos@558 116
dongsheng@654 117 web: ../stylesheets/system-xsl websup html
bos@575 118
bos@594 119 html: $(obj-web-read)/index.html
bos@594 120
bos@599 121 ../web/index-read.html.in: ../web/genindex.py $(xml-src-files)
bos@614 122 cd ../web && ./genindex.py
bos@599 123
dongsheng@654 124 $(obj-web-read)/index.html: ../stylesheets/system-xsl .validated-00book.xml ../web/index-read.html.in
dongsheng@654 125 xsltproc $(xsltproc-opts) -o $(obj-web-read)/x ../stylesheets/chunk-stylesheet.xsl 00book.xml
bos@599 126 python ../web/texpand.py ../web/index-read.html.in html/read/index.html
bos@594 127 for i in $(obj-web-read)/*.html; do \
bos@575 128 gzip -9 -c $$i > $$i.gz; \
bos@575 129 done
bos@575 130
bos@594 131 websup: $(extras-web) $(image-web)
bos@594 132 mkdir -p $(obj-websup)/figs $(obj-web-read)/figs
dongsheng@654 133 cp ../stylesheets/system-xsl/images/*.png $(obj-websup)/figs
bos@575 134 cp -f ../web/icons/*.png $(obj-websup)/figs
bos@575 135
bos@613 136 complete.xml: .validated-00book.xml
songdongsheng@667 137 $(xsltproc) $(xsltproc-opts) -o $@ ../stylesheets/dtd-profile.xsl 00book.xml
songdongsheng@667 138
dongsheng@654 139 all-ids.dat: ../stylesheets/all-ids.xsl $(xml-src-files)
dongsheng@654 140 $(xsltproc) $(xsltproc-opts) -o $@ ../stylesheets/all-ids.xsl 00book.xml
bos@588 141
bos@575 142 web: websup
bos@558 143
bos@558 144 valid: .validated-00book.xml
bos@558 145
bos@614 146 .validated-00book.xml: $(xml-src-files) examples/.run
bos@558 147 $(xmllint) --path '$(dtd-dir):$(xml-path)' $(xmllint-opts) $<
bos@558 148 touch $@
bos@558 149
bos@18 150 # Produce 90dpi PNGs for the web.
bos@18 151
bos@594 152 $(obj-web-read)/figs/%.png: $(obj-web-read)/figs/%.svg fixsvg
bos@594 153 mkdir -p $(dir $@)
hg@307 154 ./fixsvg $<
bos@309 155 inkscape -D -e $@ $<-tmp.svg
bos@309 156 rm $<-tmp.svg
bos@11 157
bos@594 158 $(obj-web-read)/figs/%.png: figs/%.svg fixsvg
bos@594 159 mkdir -p $(dir $@)
bos@594 160 ./fixsvg $<
bos@594 161 inkscape -D -e $@ $<-tmp.svg
bos@594 162 rm $<-tmp.svg
bos@594 163
bos@595 164 $(obj-web-read)/figs/%.gif: figs/%.gif
bos@595 165 cp $< $@
bos@595 166
bos@594 167 $(obj-web-read)/figs/%.png: figs/%.png
bos@594 168 cp $< $@
bos@594 169
bos@594 170 $(obj-web-read)/figs/%.svg: figs/%.dot
bos@594 171 mkdir -p $(dir $@)
bos@124 172 dot -Tsvg -o $@ $<
bos@124 173
bos@172 174 examples: $(example-prereqs) examples/.run
bos@4 175
bos@580 176 examples/.run: $(example-sources)
bos@615 177 cd examples && ./run-example -a
bos@45 178
bos@45 179 examples/%.run: examples/% examples/run-example
bos@4 180
bos@571 181 clean:
bos@571 182 -rm -rf dist html $(image-dot:%.dot=%.pdf) $(image-dot:%.dot=%.png) \
bos@571 183 $(image-svg:%.svg=%.png) examples/*.{lxo,run} examples/.run
bos@250 184
bos@571 185 install: html $(dist-sources)
bos@153 186 rm -rf dist
bos@153 187 mkdir -p dist
bos@571 188 cp html/*.{css,html,png} dist
bos@157 189 cp $(dist-sources) dist
bos@153 190
bos@153 191 rsync: install
bos@153 192 rsync -avz --delete dist sp.red-bean.com:public_html/hgbook
bos@575 193
bos@575 194 vpath %.css ../web
bos@598 195 vpath %.html.in ../web
bos@575 196 vpath %.js ../web/javascript
bos@575 197
bos@575 198 $(obj-websup)/%.css: %.css
bos@575 199 @mkdir -p $(dir $@)
bos@575 200 cp $< $@
bos@575 201
bos@575 202 $(obj-websup)/%.jpg: %.jpg
bos@575 203 @mkdir -p $(dir $@)
bos@575 204 cp $< $@
bos@575 205
bos@575 206 $(obj-websup)/%.js: %.js
bos@575 207 @mkdir -p $(dir $@)
bos@575 208 cp $< $@
bos@575 209
bos@575 210 $(obj-web)/%: ../web/%
bos@575 211 @mkdir -p $(dir $@)
bos@575 212 cp $< $@
bos@575 213
bos@575 214 $(obj-web)/%.html: %.html.in
bos@575 215 @mkdir -p $(dir $@)
bos@575 216 python ../web/texpand.py $< $@
bos@575 217
bos@575 218 %.gz: %
bos@575 219 gzip -9 -c $< > $@