annotate en/Makefile @ 821:88828b784971

Add more complex example hook
author Bryan O'Sullivan <bos@serpentine.com>
date Tue, 28 Apr 2009 23:10:43 -0700
parents 3b33dd6aba87
children 896ab6eaf1c6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18
e6f4088ebe52 Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents: 16
diff changeset
1 # This makefile requires GNU make.
e6f4088ebe52 Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents: 16
diff changeset
2
694
e0a4ba81f888 Add throbber for comment submission
Bryan O'Sullivan <bos@serpentine.com>
parents: 693
diff changeset
3 image-sources := $(wildcard figs/*.dot figs/*.gif figs/*.png figs/*.svg)
103
5b80c922ebdd More merge content.
Bryan O'Sullivan <bos@serpentine.com>
parents: 100
diff changeset
4
657
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
5 xml-src-files := \
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
6 00book.xml \
658
b90b024729f1 WIP DocBook snapshot that all compiles. Mirabile dictu!
Bryan O'Sullivan <bos@serpentine.com>
parents: 657
diff changeset
7 app*.xml \
b90b024729f1 WIP DocBook snapshot that all compiles. Mirabile dictu!
Bryan O'Sullivan <bos@serpentine.com>
parents: 657
diff changeset
8 ch*.xml
657
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
9
124
c9aad709bd3a Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents: 122
diff changeset
10 image-dot := $(filter %.dot,$(image-sources))
103
5b80c922ebdd More merge content.
Bryan O'Sullivan <bos@serpentine.com>
parents: 100
diff changeset
11 image-svg := $(filter %.svg,$(image-sources))
694
e0a4ba81f888 Add throbber for comment submission
Bryan O'Sullivan <bos@serpentine.com>
parents: 693
diff changeset
12 image-oth := $(filter %.gif %.png,$(image-sources))
11
e9d5b4c3d16b First SVG image!
Bryan O'Sullivan <bos@serpentine.com>
parents: 7
diff changeset
13
693
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
14 obj-web := html
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
15 obj-websup := $(obj-web)/support
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
16 obj-web-read := $(obj-web)/read
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
17
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
18 image-web := \
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
19 $(image-dot:%.dot=$(obj-web-read)/%.png) \
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
20 $(image-svg:%.svg=$(obj-web-read)/%.png) \
694
e0a4ba81f888 Add throbber for comment submission
Bryan O'Sullivan <bos@serpentine.com>
parents: 693
diff changeset
21 $(image-oth:%=$(obj-web-read)/%)
213
18cffee85038 Fix build of HTML pages with PNG images.
Bryan O'Sullivan <bos@serpentine.com>
parents: 202
diff changeset
22
680
8366882f67f2 Fix up more formatting goop
Bryan O'Sullivan <bos@serpentine.com>
parents: 674
diff changeset
23 example-sources-by-name := \
124
c9aad709bd3a Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents: 122
diff changeset
24 backout \
131
153efeaa8f57 Fix stupid build bugs.
Bryan O'Sullivan <bos@serpentine.com>
parents: 124
diff changeset
25 bisect \
179
5fc4a45c069f Continue documentation of collaboration models.
Bryan O'Sullivan <bos@serpentine.com>
parents: 177
diff changeset
26 branching \
202
6f167e644762 Start writing about named branches.
Bryan O'Sullivan <bos@serpentine.com>
parents: 198
diff changeset
27 branch-named \
198
615f3c6b30e1 Start to describe branch management.
Bryan O'Sullivan <bos@serpentine.com>
parents: 196
diff changeset
28 branch-repo \
133
1e013fbe35f7 Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents: 132
diff changeset
29 cmdref \
117
6b0f4498569e Beef up daily routine material. Focus on merge-across-copy.
Bryan O'Sullivan <bos@serpentine.com>
parents: 115
diff changeset
30 daily.copy \
86
796738d75876 Reduce verbosity.
Bryan O'Sullivan <bos@serpentine.com>
parents: 85
diff changeset
31 daily.files \
118
1ee53cb37a99 More progress on daily work.
Bryan O'Sullivan <bos@serpentine.com>
parents: 117
diff changeset
32 daily.rename \
122
3af28630fe8c How to goodbye depression by reverting one thousand times daily.
Bryan O'Sullivan <bos@serpentine.com>
parents: 121
diff changeset
33 daily.revert \
226
eef2171243e8 Document the extdiff extension.
Bryan O'Sullivan <bos@serpentine.com>
parents: 223
diff changeset
34 extdiff \
133
1e013fbe35f7 Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents: 132
diff changeset
35 filenames \
86
796738d75876 Reduce verbosity.
Bryan O'Sullivan <bos@serpentine.com>
parents: 85
diff changeset
36 hook.msglen \
796738d75876 Reduce verbosity.
Bryan O'Sullivan <bos@serpentine.com>
parents: 85
diff changeset
37 hook.simple \
156
91a936be78b8 Document merge behaviour with file names.
Bryan O'Sullivan <bos@serpentine.com>
parents: 153
diff changeset
38 issue29 \
104
32bf9a5f22c0 Refactor MQ chapter into three.
Bryan O'Sullivan <bos@serpentine.com>
parents: 103
diff changeset
39 mq.guards \
86
796738d75876 Reduce verbosity.
Bryan O'Sullivan <bos@serpentine.com>
parents: 85
diff changeset
40 mq.qinit-help \
796738d75876 Reduce verbosity.
Bryan O'Sullivan <bos@serpentine.com>
parents: 85
diff changeset
41 mq.dodiff \
796738d75876 Reduce verbosity.
Bryan O'Sullivan <bos@serpentine.com>
parents: 85
diff changeset
42 mq.id \
796738d75876 Reduce verbosity.
Bryan O'Sullivan <bos@serpentine.com>
parents: 85
diff changeset
43 mq.tarball \
796738d75876 Reduce verbosity.
Bryan O'Sullivan <bos@serpentine.com>
parents: 85
diff changeset
44 mq.tools \
796738d75876 Reduce verbosity.
Bryan O'Sullivan <bos@serpentine.com>
parents: 85
diff changeset
45 mq.tutorial \
156
91a936be78b8 Document merge behaviour with file names.
Bryan O'Sullivan <bos@serpentine.com>
parents: 153
diff changeset
46 rename.divergent \
121
9094c9fda8ec Start chapter on error recovery.
Bryan O'Sullivan <bos@serpentine.com>
parents: 118
diff changeset
47 rollback \
196
4237e45506ee Add early material describing tags.
Bryan O'Sullivan <bos@serpentine.com>
parents: 195
diff changeset
48 tag \
86
796738d75876 Reduce verbosity.
Bryan O'Sullivan <bos@serpentine.com>
parents: 85
diff changeset
49 template.simple \
87
0995016342f8 More bumf.
Bryan O'Sullivan <bos@serpentine.com>
parents: 86
diff changeset
50 template.svnstyle \
103
5b80c922ebdd More merge content.
Bryan O'Sullivan <bos@serpentine.com>
parents: 100
diff changeset
51 tour \
5b80c922ebdd More merge content.
Bryan O'Sullivan <bos@serpentine.com>
parents: 100
diff changeset
52 tour-merge-conflict
4
33a2e7b9978d Make it possible to include example input and output from real programs.
Bryan O'Sullivan <bos@serpentine.com>
parents: 2
diff changeset
53
680
8366882f67f2 Fix up more formatting goop
Bryan O'Sullivan <bos@serpentine.com>
parents: 674
diff changeset
54 example-sources := \
8366882f67f2 Fix up more formatting goop
Bryan O'Sullivan <bos@serpentine.com>
parents: 674
diff changeset
55 $(example-sources-by-name:%=examples/%) \
8366882f67f2 Fix up more formatting goop
Bryan O'Sullivan <bos@serpentine.com>
parents: 674
diff changeset
56 $(wildcard examples/ch*/*)
8366882f67f2 Fix up more formatting goop
Bryan O'Sullivan <bos@serpentine.com>
parents: 674
diff changeset
57
674
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
58 extras-web-base := \
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
59 $(obj-web)/index.html \
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
60 $(obj-web)/robots.txt \
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
61 $(obj-websup)/form-min.js \
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
62 $(obj-websup)/form.js \
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
63 $(obj-websup)/hsbook.js \
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
64 $(obj-websup)/jquery-min.js \
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
65 $(obj-websup)/jquery.js \
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
66 $(obj-websup)/styles.css
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
67
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
68 extras-web := $(extras-web-base) $(extras-web-base:%=%.gz)
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
69
657
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
70 xsltproc := xsltproc
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
71 xsltproc-opts := --nonet --xinclude --path '$(xml-path)'
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
72
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
73 xmllint := xmllint
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
74 xmllint-opts := --noout --nonet --valid
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
75
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
76 system-xsl-dir := $(firstword $(wildcard \
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
77 /usr/share/sgml/docbook/xsl-stylesheets \
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
78 /usr/share/xml/docbook/stylesheet/nwalsh \
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
79 ))
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
80
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
81 # Bletcherousness.
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
82
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
83 ifneq ($(wildcard /usr/share/sgml/docbook/xml-dtd-4.4-*),)
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
84 dtd-dir := $(wildcard /usr/share/sgml/docbook/xml-dtd-4.4-*)
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
85 else
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
86 ifneq ($(wildcard /usr/share/xml/docbook/schema/dtd/4.4),)
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
87 dtd-dir := $(wildcard /usr/share/xml/docbook/schema/dtd/4.4)
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
88 else
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
89 $(error Do not know where to look for DocBook XML 4.4 DTD)
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
90 endif
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
91 endif
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
92
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
93 ifeq ($(system-xsl-dir),)
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
94 $(error add a suitable directory to system-xsl-dir)
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
95 endif
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
96
172
5f305adeb584 Try to tighten up the run environment to make things more reproducible.
Bryan O'Sullivan <bos@serpentine.com>
parents: 171
diff changeset
97 example-prereqs := \
5f305adeb584 Try to tighten up the run environment to make things more reproducible.
Bryan O'Sullivan <bos@serpentine.com>
parents: 171
diff changeset
98 /usr/bin/merge
5f305adeb584 Try to tighten up the run environment to make things more reproducible.
Bryan O'Sullivan <bos@serpentine.com>
parents: 171
diff changeset
99
157
e49f4451d0e3 Add hgbook front page material.
Bryan O'Sullivan <bos@serpentine.com>
parents: 156
diff changeset
100 dist-sources := \
159
7355af913937 First steps on collaboration chapter.
Bryan O'Sullivan <bos@serpentine.com>
parents: 157
diff changeset
101 ../html/hgicon.png \
157
e49f4451d0e3 Add hgbook front page material.
Bryan O'Sullivan <bos@serpentine.com>
parents: 156
diff changeset
102 ../html/index.html.var \
e49f4451d0e3 Add hgbook front page material.
Bryan O'Sullivan <bos@serpentine.com>
parents: 156
diff changeset
103 ../html/index.en.html
e49f4451d0e3 Add hgbook front page material.
Bryan O'Sullivan <bos@serpentine.com>
parents: 156
diff changeset
104
177
c54f4c106fd5 Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents: 172
diff changeset
105 hg = $(shell which hg)
c54f4c106fd5 Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents: 172
diff changeset
106
269
abfe426f7e08 Kill off the hideous pink text from HTML.
Bryan O'Sullivan <bos@serpentine.com>
parents: 250
diff changeset
107 hg-id = $(shell hg parents --template '{node|short}, dated {date|isodate},\n')
177
c54f4c106fd5 Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents: 172
diff changeset
108
c54f4c106fd5 Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents: 172
diff changeset
109 hg-version = $(shell hg version -q | \
242
0d536cb488f2 Allow revs with uncommitted changes.
Bryan O'Sullivan <bos@serpentine.com>
parents: 226
diff changeset
110 sed 's,.*(version \(unknown\|[a-f0-9+]*\)),\1,')
177
c54f4c106fd5 Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents: 172
diff changeset
111
711
f107ab150809 Generate a standalone XML file.
Bryan O'Sullivan <bos@serpentine.com>
parents: 698
diff changeset
112 all: web complete.xml
149
16f02802f448 Start to produce saner HTML and CSS.
Bryan O'Sullivan <bos@serpentine.com>
parents: 146
diff changeset
113
753
1c13ed2130a7 Merge with http://hg.serpentine.com/mercurial/book
Dongsheng Song <dongsheng.song@gmail.com>
parents: 749 698
diff changeset
114 ../stylesheets/system-xsl: $(system-xsl-dir)
657
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
115 ln -s $< $@
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
116
753
1c13ed2130a7 Merge with http://hg.serpentine.com/mercurial/book
Dongsheng Song <dongsheng.song@gmail.com>
parents: 749 698
diff changeset
117 web: ../stylesheets/system-xsl websup html
674
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
118
693
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
119 html: $(obj-web-read)/index.html
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
120
698
9e8e5292acaa Generate a nice readable index.
Bryan O'Sullivan <bos@serpentine.com>
parents: 697
diff changeset
121 ../web/index-read.html.in: ../web/genindex.py $(xml-src-files)
712
c8680784cdbb Make builds more reliable.
Bryan O'Sullivan <bos@serpentine.com>
parents: 711
diff changeset
122 cd ../web && ./genindex.py
698
9e8e5292acaa Generate a nice readable index.
Bryan O'Sullivan <bos@serpentine.com>
parents: 697
diff changeset
123
753
1c13ed2130a7 Merge with http://hg.serpentine.com/mercurial/book
Dongsheng Song <dongsheng.song@gmail.com>
parents: 749 698
diff changeset
124 $(obj-web-read)/index.html: ../stylesheets/system-xsl .validated-00book.xml ../web/index-read.html.in
1c13ed2130a7 Merge with http://hg.serpentine.com/mercurial/book
Dongsheng Song <dongsheng.song@gmail.com>
parents: 749 698
diff changeset
125 xsltproc $(xsltproc-opts) -o $(obj-web-read)/x ../stylesheets/chunk-stylesheet.xsl 00book.xml
698
9e8e5292acaa Generate a nice readable index.
Bryan O'Sullivan <bos@serpentine.com>
parents: 697
diff changeset
126 python ../web/texpand.py ../web/index-read.html.in html/read/index.html
693
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
127 for i in $(obj-web-read)/*.html; do \
674
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
128 gzip -9 -c $$i > $$i.gz; \
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
129 done
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
130
693
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
131 websup: $(extras-web) $(image-web)
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
132 mkdir -p $(obj-websup)/figs $(obj-web-read)/figs
753
1c13ed2130a7 Merge with http://hg.serpentine.com/mercurial/book
Dongsheng Song <dongsheng.song@gmail.com>
parents: 749 698
diff changeset
133 cp ../stylesheets/system-xsl/images/*.png $(obj-websup)/figs
674
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
134 cp -f ../web/icons/*.png $(obj-websup)/figs
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
135
711
f107ab150809 Generate a standalone XML file.
Bryan O'Sullivan <bos@serpentine.com>
parents: 698
diff changeset
136 complete.xml: .validated-00book.xml
766
3b33dd6aba87 Merge with http://hg.serpentine.com/mercurial/book
Dongsheng Song <songdongsheng@live.cn>
parents: 753 713
diff changeset
137 $(xsltproc) $(xsltproc-opts) -o $@ ../stylesheets/dtd-profile.xsl 00book.xml
711
f107ab150809 Generate a standalone XML file.
Bryan O'Sullivan <bos@serpentine.com>
parents: 698
diff changeset
138
753
1c13ed2130a7 Merge with http://hg.serpentine.com/mercurial/book
Dongsheng Song <dongsheng.song@gmail.com>
parents: 749 698
diff changeset
139 all-ids.dat: ../stylesheets/all-ids.xsl $(xml-src-files)
1c13ed2130a7 Merge with http://hg.serpentine.com/mercurial/book
Dongsheng Song <dongsheng.song@gmail.com>
parents: 749 698
diff changeset
140 $(xsltproc) $(xsltproc-opts) -o $@ ../stylesheets/all-ids.xsl 00book.xml
687
188efaefe001 How to make all-ids.dat.
Bryan O'Sullivan <bos@serpentine.com>
parents: 681
diff changeset
141
674
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
142 web: websup
657
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
143
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
144 valid: .validated-00book.xml
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
145
712
c8680784cdbb Make builds more reliable.
Bryan O'Sullivan <bos@serpentine.com>
parents: 711
diff changeset
146 .validated-00book.xml: $(xml-src-files) examples/.run
657
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
147 $(xmllint) --path '$(dtd-dir):$(xml-path)' $(xmllint-opts) $<
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
148 touch $@
8631da51309b Slow progress on XML conversion
Bryan O'Sullivan <bos@serpentine.com>
parents: 649
diff changeset
149
18
e6f4088ebe52 Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents: 16
diff changeset
150 # Produce 90dpi PNGs for the web.
e6f4088ebe52 Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents: 16
diff changeset
151
693
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
152 $(obj-web-read)/figs/%.png: $(obj-web-read)/figs/%.svg fixsvg
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
153 mkdir -p $(dir $@)
406
fb5c0d56d7f1 Fix test 'tour'.
Guido Ostkamp <hg@ostkamp.fastmail.fm>
parents: 278
diff changeset
154 ./fixsvg $<
408
028543f67bea Fix build
Bryan O'Sullivan <bos@serpentine.com>
parents: 406
diff changeset
155 inkscape -D -e $@ $<-tmp.svg
028543f67bea Fix build
Bryan O'Sullivan <bos@serpentine.com>
parents: 406
diff changeset
156 rm $<-tmp.svg
0
76fba5835a1b Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
157
693
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
158 $(obj-web-read)/figs/%.png: figs/%.svg fixsvg
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
159 mkdir -p $(dir $@)
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
160 ./fixsvg $<
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
161 inkscape -D -e $@ $<-tmp.svg
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
162 rm $<-tmp.svg
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
163
694
e0a4ba81f888 Add throbber for comment submission
Bryan O'Sullivan <bos@serpentine.com>
parents: 693
diff changeset
164 $(obj-web-read)/figs/%.gif: figs/%.gif
e0a4ba81f888 Add throbber for comment submission
Bryan O'Sullivan <bos@serpentine.com>
parents: 693
diff changeset
165 cp $< $@
e0a4ba81f888 Add throbber for comment submission
Bryan O'Sullivan <bos@serpentine.com>
parents: 693
diff changeset
166
693
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
167 $(obj-web-read)/figs/%.png: figs/%.png
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
168 cp $< $@
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
169
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
170 $(obj-web-read)/figs/%.svg: figs/%.dot
0b45854f0b7b Generate and include images properly.
Bryan O'Sullivan <bos@serpentine.com>
parents: 687
diff changeset
171 mkdir -p $(dir $@)
124
c9aad709bd3a Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents: 122
diff changeset
172 dot -Tsvg -o $@ $<
c9aad709bd3a Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents: 122
diff changeset
173
172
5f305adeb584 Try to tighten up the run environment to make things more reproducible.
Bryan O'Sullivan <bos@serpentine.com>
parents: 171
diff changeset
174 examples: $(example-prereqs) examples/.run
4
33a2e7b9978d Make it possible to include example input and output from real programs.
Bryan O'Sullivan <bos@serpentine.com>
parents: 2
diff changeset
175
680
8366882f67f2 Fix up more formatting goop
Bryan O'Sullivan <bos@serpentine.com>
parents: 674
diff changeset
176 examples/.run: $(example-sources)
713
fbb4340be17a Minor tweaks
Bryan O'Sullivan <bos@serpentine.com>
parents: 712
diff changeset
177 cd examples && ./run-example -a
45
6b7b0339e7d6 Don't rerun examples unnecessarily.
Bryan O'Sullivan <bos@serpentine.com>
parents: 44
diff changeset
178
6b7b0339e7d6 Don't rerun examples unnecessarily.
Bryan O'Sullivan <bos@serpentine.com>
parents: 44
diff changeset
179 examples/%.run: examples/% examples/run-example
4
33a2e7b9978d Make it possible to include example input and output from real programs.
Bryan O'Sullivan <bos@serpentine.com>
parents: 2
diff changeset
180
670
3bcc001ce34f Get rid of lots of TeX-era cruft.
Bryan O'Sullivan <bos@serpentine.com>
parents: 665
diff changeset
181 clean:
3bcc001ce34f Get rid of lots of TeX-era cruft.
Bryan O'Sullivan <bos@serpentine.com>
parents: 665
diff changeset
182 -rm -rf dist html $(image-dot:%.dot=%.pdf) $(image-dot:%.dot=%.png) \
3bcc001ce34f Get rid of lots of TeX-era cruft.
Bryan O'Sullivan <bos@serpentine.com>
parents: 665
diff changeset
183 $(image-svg:%.svg=%.png) examples/*.{lxo,run} examples/.run
177
c54f4c106fd5 Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents: 172
diff changeset
184
670
3bcc001ce34f Get rid of lots of TeX-era cruft.
Bryan O'Sullivan <bos@serpentine.com>
parents: 665
diff changeset
185 install: html $(dist-sources)
153
cf24633b8de7 Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents: 149
diff changeset
186 rm -rf dist
cf24633b8de7 Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents: 149
diff changeset
187 mkdir -p dist
670
3bcc001ce34f Get rid of lots of TeX-era cruft.
Bryan O'Sullivan <bos@serpentine.com>
parents: 665
diff changeset
188 cp html/*.{css,html,png} dist
157
e49f4451d0e3 Add hgbook front page material.
Bryan O'Sullivan <bos@serpentine.com>
parents: 156
diff changeset
189 cp $(dist-sources) dist
153
cf24633b8de7 Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents: 149
diff changeset
190
cf24633b8de7 Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents: 149
diff changeset
191 rsync: install
cf24633b8de7 Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents: 149
diff changeset
192 rsync -avz --delete dist sp.red-bean.com:public_html/hgbook
674
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
193
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
194 vpath %.css ../web
697
7893b3824715 Add a top-level index page.
Bryan O'Sullivan <bos@serpentine.com>
parents: 694
diff changeset
195 vpath %.html.in ../web
674
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
196 vpath %.js ../web/javascript
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
197
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
198 $(obj-websup)/%.css: %.css
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
199 @mkdir -p $(dir $@)
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
200 cp $< $@
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
201
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
202 $(obj-websup)/%.jpg: %.jpg
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
203 @mkdir -p $(dir $@)
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
204 cp $< $@
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
205
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
206 $(obj-websup)/%.js: %.js
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
207 @mkdir -p $(dir $@)
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
208 cp $< $@
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
209
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
210 $(obj-web)/%: ../web/%
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
211 @mkdir -p $(dir $@)
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
212 cp $< $@
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
213
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
214 $(obj-web)/%.html: %.html.in
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
215 @mkdir -p $(dir $@)
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
216 python ../web/texpand.py $< $@
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
217
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
218 %.gz: %
bebd5ff7fe7f And there was much tidying, and the result was good.
Bryan O'Sullivan <bos@serpentine.com>
parents: 670
diff changeset
219 gzip -9 -c $< > $@