Mercurial > hgbook
annotate en/Makefile @ 406:fb5c0d56d7f1
Fix test 'tour'.
Executing 'tour' test now creates some files in /tmp to store the
revision numbers as they are created on the fly and appear in the output
files. When SVG files are to be converted to PNG or EPS files within the
Makefile, a tool 'fixsvg' will be invoked to substitute some placeholder
markup by the real version number which fits to the test output, before
the final conversion takes place.
author | Guido Ostkamp <hg@ostkamp.fastmail.fm> |
---|---|
date | Wed, 20 Aug 2008 22:15:35 +0200 |
parents | dc3d42f3a288 |
children | 028543f67bea |
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 |
2 | 3 sources := \ |
4 00book.tex \ | |
5 99book.bib \ | |
6 99defs.tex \ | |
34
c0979ed1eabd
Get started on hook chapter.
Bryan O'Sullivan <bos@serpentine.com>
parents:
32
diff
changeset
|
7 build_id.tex \ |
187
b60e2de6dbc3
Add chapter on branch management.
Bryan O'Sullivan <bos@serpentine.com>
parents:
179
diff
changeset
|
8 branch.tex \ |
132
e1e2f3e0256a
Start command reference, with the diff command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
131
diff
changeset
|
9 cmdref.tex \ |
159
7355af913937
First steps on collaboration chapter.
Bryan O'Sullivan <bos@serpentine.com>
parents:
157
diff
changeset
|
10 collab.tex \ |
59 | 11 concepts.tex \ |
42
cbfa08bcf181
Start the "Mercurial in daily use" chapter.
Bryan O'Sullivan <bos@serpentine.com>
parents:
34
diff
changeset
|
12 daily.tex \ |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
13 filenames.tex \ |
177
c54f4c106fd5
Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents:
172
diff
changeset
|
14 hg_id.tex \ |
223
4c9b9416cd23
Skeleton for chapter on extensions.
Bryan O'Sullivan <bos@serpentine.com>
parents:
214
diff
changeset
|
15 hgext.tex \ |
34
c0979ed1eabd
Get started on hook chapter.
Bryan O'Sullivan <bos@serpentine.com>
parents:
32
diff
changeset
|
16 hook.tex \ |
16
81454425eee9
Progress on a few fronts, mainly indexing and MQ chapter content
Bryan O'Sullivan <bos@serpentine.com>
parents:
11
diff
changeset
|
17 intro.tex \ |
81454425eee9
Progress on a few fronts, mainly indexing and MQ chapter content
Bryan O'Sullivan <bos@serpentine.com>
parents:
11
diff
changeset
|
18 mq.tex \ |
104
32bf9a5f22c0
Refactor MQ chapter into three.
Bryan O'Sullivan <bos@serpentine.com>
parents:
103
diff
changeset
|
19 mq-collab.tex \ |
32bf9a5f22c0
Refactor MQ chapter into three.
Bryan O'Sullivan <bos@serpentine.com>
parents:
103
diff
changeset
|
20 mq-ref.tex \ |
76
df88df78288d
Add template chapter to build.
Bryan O'Sullivan <bos@serpentine.com>
parents:
69
diff
changeset
|
21 preface.tex \ |
85
b7c69a68b0cc
A little progress on "lightning tour".
Bryan O'Sullivan <bos@serpentine.com>
parents:
84
diff
changeset
|
22 srcinstall.tex \ |
84 | 23 template.tex \ |
95
47ea206351d5
Split tour into two sections.
Bryan O'Sullivan <bos@serpentine.com>
parents:
87
diff
changeset
|
24 tour-basic.tex \ |
121
9094c9fda8ec
Start chapter on error recovery.
Bryan O'Sullivan <bos@serpentine.com>
parents:
118
diff
changeset
|
25 tour-merge.tex \ |
9094c9fda8ec
Start chapter on error recovery.
Bryan O'Sullivan <bos@serpentine.com>
parents:
118
diff
changeset
|
26 undo.tex |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
27 |
11 | 28 image-sources := \ |
179
5fc4a45c069f
Continue documentation of collaboration models.
Bryan O'Sullivan <bos@serpentine.com>
parents:
177
diff
changeset
|
29 feature-branches.dot \ |
108
e0b961975c5e
First bit of concepts chapter.
Bryan O'Sullivan <bos@serpentine.com>
parents:
104
diff
changeset
|
30 filelog.svg \ |
103 | 31 kdiff3.png \ |
109
1b67dc96f27a
Snapshot of concepts chapter.
Bryan O'Sullivan <bos@serpentine.com>
parents:
108
diff
changeset
|
32 metadata.svg \ |
96
7d7ddc3a57af
Split tour into two chapters.
Bryan O'Sullivan <bos@serpentine.com>
parents:
95
diff
changeset
|
33 mq-stack.svg \ |
149
16f02802f448
Start to produce saner HTML and CSS.
Bryan O'Sullivan <bos@serpentine.com>
parents:
146
diff
changeset
|
34 note.png \ |
112 | 35 revlog.svg \ |
110 | 36 snapshot.svg \ |
99 | 37 tour-history.svg \ |
103 | 38 tour-merge-conflict.svg \ |
39 tour-merge-merge.svg \ | |
100
272146fab009
Add yet another illustration of the merge process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
99
diff
changeset
|
40 tour-merge-pull.svg \ |
113
a0f57b3e677e
More concepts, this time working directory stuff.
Bryan O'Sullivan <bos@serpentine.com>
parents:
112
diff
changeset
|
41 tour-merge-sep-repos.svg \ |
124
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
42 undo-manual.dot \ |
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
43 undo-manual-merge.dot \ |
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
44 undo-non-tip.dot \ |
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
45 undo-simple.dot \ |
113
a0f57b3e677e
More concepts, this time working directory stuff.
Bryan O'Sullivan <bos@serpentine.com>
parents:
112
diff
changeset
|
46 wdir.svg \ |
115
b74102b56df5
Wow! Lots more work detailing the working directory, merging, etc.
Bryan O'Sullivan <bos@serpentine.com>
parents:
113
diff
changeset
|
47 wdir-after-commit.svg \ |
b74102b56df5
Wow! Lots more work detailing the working directory, merging, etc.
Bryan O'Sullivan <bos@serpentine.com>
parents:
113
diff
changeset
|
48 wdir-branch.svg \ |
b74102b56df5
Wow! Lots more work detailing the working directory, merging, etc.
Bryan O'Sullivan <bos@serpentine.com>
parents:
113
diff
changeset
|
49 wdir-merge.svg \ |
b74102b56df5
Wow! Lots more work detailing the working directory, merging, etc.
Bryan O'Sullivan <bos@serpentine.com>
parents:
113
diff
changeset
|
50 wdir-pre-branch.svg |
103 | 51 |
124
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
52 image-dot := $(filter %.dot,$(image-sources)) |
103 | 53 image-svg := $(filter %.svg,$(image-sources)) |
124
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
54 image-png := $(filter %.png,$(image-sources)) |
11 | 55 |
213
18cffee85038
Fix build of HTML pages with PNG images.
Bryan O'Sullivan <bos@serpentine.com>
parents:
202
diff
changeset
|
56 image-pdf := $(image-dot:%.dot=%.pdf) $(image-svg:%.svg=%.pdf) $(image-png) |
18cffee85038
Fix build of HTML pages with PNG images.
Bryan O'Sullivan <bos@serpentine.com>
parents:
202
diff
changeset
|
57 image-html := $(image-dot:%.dot=%.png) $(image-svg:%.svg=%.png) $(image-png) |
18cffee85038
Fix build of HTML pages with PNG images.
Bryan O'Sullivan <bos@serpentine.com>
parents:
202
diff
changeset
|
58 |
4
33a2e7b9978d
Make it possible to include example input and output from real programs.
Bryan O'Sullivan <bos@serpentine.com>
parents:
2
diff
changeset
|
59 example-sources := \ |
124
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
60 backout \ |
131
153efeaa8f57
Fix stupid build bugs.
Bryan O'Sullivan <bos@serpentine.com>
parents:
124
diff
changeset
|
61 bisect \ |
179
5fc4a45c069f
Continue documentation of collaboration models.
Bryan O'Sullivan <bos@serpentine.com>
parents:
177
diff
changeset
|
62 branching \ |
202
6f167e644762
Start writing about named branches.
Bryan O'Sullivan <bos@serpentine.com>
parents:
198
diff
changeset
|
63 branch-named \ |
198
615f3c6b30e1
Start to describe branch management.
Bryan O'Sullivan <bos@serpentine.com>
parents:
196
diff
changeset
|
64 branch-repo \ |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
65 cmdref \ |
117
6b0f4498569e
Beef up daily routine material. Focus on merge-across-copy.
Bryan O'Sullivan <bos@serpentine.com>
parents:
115
diff
changeset
|
66 daily.copy \ |
86 | 67 daily.files \ |
118
1ee53cb37a99
More progress on daily work.
Bryan O'Sullivan <bos@serpentine.com>
parents:
117
diff
changeset
|
68 daily.rename \ |
122
3af28630fe8c
How to goodbye depression by reverting one thousand times daily.
Bryan O'Sullivan <bos@serpentine.com>
parents:
121
diff
changeset
|
69 daily.revert \ |
226
eef2171243e8
Document the extdiff extension.
Bryan O'Sullivan <bos@serpentine.com>
parents:
223
diff
changeset
|
70 extdiff \ |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
71 filenames \ |
86 | 72 hook.msglen \ |
73 hook.simple \ | |
74 hook.ws \ | |
156
91a936be78b8
Document merge behaviour with file names.
Bryan O'Sullivan <bos@serpentine.com>
parents:
153
diff
changeset
|
75 issue29 \ |
104
32bf9a5f22c0
Refactor MQ chapter into three.
Bryan O'Sullivan <bos@serpentine.com>
parents:
103
diff
changeset
|
76 mq.guards \ |
86 | 77 mq.qinit-help \ |
78 mq.dodiff \ | |
79 mq.id \ | |
80 mq.tarball \ | |
81 mq.tools \ | |
82 mq.tutorial \ | |
156
91a936be78b8
Document merge behaviour with file names.
Bryan O'Sullivan <bos@serpentine.com>
parents:
153
diff
changeset
|
83 rename.divergent \ |
121
9094c9fda8ec
Start chapter on error recovery.
Bryan O'Sullivan <bos@serpentine.com>
parents:
118
diff
changeset
|
84 rollback \ |
196
4237e45506ee
Add early material describing tags.
Bryan O'Sullivan <bos@serpentine.com>
parents:
195
diff
changeset
|
85 tag \ |
86 | 86 template.simple \ |
87 | 87 template.svnstyle \ |
103 | 88 tour \ |
89 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
|
90 |
172
5f305adeb584
Try to tighten up the run environment to make things more reproducible.
Bryan O'Sullivan <bos@serpentine.com>
parents:
171
diff
changeset
|
91 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
|
92 /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
|
93 |
157
e49f4451d0e3
Add hgbook front page material.
Bryan O'Sullivan <bos@serpentine.com>
parents:
156
diff
changeset
|
94 dist-sources := \ |
159
7355af913937
First steps on collaboration chapter.
Bryan O'Sullivan <bos@serpentine.com>
parents:
157
diff
changeset
|
95 ../html/hgicon.png \ |
157
e49f4451d0e3
Add hgbook front page material.
Bryan O'Sullivan <bos@serpentine.com>
parents:
156
diff
changeset
|
96 ../html/index.html.var \ |
e49f4451d0e3
Add hgbook front page material.
Bryan O'Sullivan <bos@serpentine.com>
parents:
156
diff
changeset
|
97 ../html/index.en.html |
e49f4451d0e3
Add hgbook front page material.
Bryan O'Sullivan <bos@serpentine.com>
parents:
156
diff
changeset
|
98 |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
99 latex-options = \ |
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
100 -interaction batchmode \ |
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
101 -output-directory $(dir $(1)) \ |
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
102 -jobname $(basename $(notdir $(1))) |
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
103 |
177
c54f4c106fd5
Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents:
172
diff
changeset
|
104 hg = $(shell which hg) |
c54f4c106fd5
Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents:
172
diff
changeset
|
105 |
269
abfe426f7e08
Kill off the hideous pink text from HTML.
Bryan O'Sullivan <bos@serpentine.com>
parents:
250
diff
changeset
|
106 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
|
107 |
c54f4c106fd5
Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents:
172
diff
changeset
|
108 hg-version = $(shell hg version -q | \ |
242
0d536cb488f2
Allow revs with uncommitted changes.
Bryan O'Sullivan <bos@serpentine.com>
parents:
226
diff
changeset
|
109 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
|
110 |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
111 all: pdf html |
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
112 |
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
113 pdf: pdf/hgbook.pdf |
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
114 |
18
e6f4088ebe52
Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents:
16
diff
changeset
|
115 define pdf |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
116 mkdir -p $(dir $@) |
21
ce3339dbeb6f
Get beta feedback stuff into better shape.
Bryan O'Sullivan <bos@serpentine.com>
parents:
18
diff
changeset
|
117 TEXINPUTS=$(dir $<): pdflatex $(call latex-options,$@) $< || (rm -f $@; exit 1) |
2 | 118 cp 99book.bib $(dir $@) |
119 cd $(dir $@) && bibtex $(basename $(notdir $@)) | |
16
81454425eee9
Progress on a few fronts, mainly indexing and MQ chapter content
Bryan O'Sullivan <bos@serpentine.com>
parents:
11
diff
changeset
|
120 cd $(dir $@) && makeindex $(basename $(notdir $@)) |
21
ce3339dbeb6f
Get beta feedback stuff into better shape.
Bryan O'Sullivan <bos@serpentine.com>
parents:
18
diff
changeset
|
121 TEXINPUTS=$(dir $<): pdflatex $(call latex-options,$@) $< || (rm -f $@; exit 1) |
ce3339dbeb6f
Get beta feedback stuff into better shape.
Bryan O'Sullivan <bos@serpentine.com>
parents:
18
diff
changeset
|
122 TEXINPUTS=$(dir $<): pdflatex $(call latex-options,$@) $< || (rm -f $@; exit 1) |
26 | 123 if grep 'Reference.*undefined' $(@:.pdf=.log); then exit 1; fi |
18
e6f4088ebe52
Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents:
16
diff
changeset
|
124 endef |
e6f4088ebe52
Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents:
16
diff
changeset
|
125 |
406 | 126 pdf/hgbook.pdf: $(sources) examples $(image-pdf) |
18
e6f4088ebe52
Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents:
16
diff
changeset
|
127 $(call pdf) |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
128 |
149
16f02802f448
Start to produce saner HTML and CSS.
Bryan O'Sullivan <bos@serpentine.com>
parents:
146
diff
changeset
|
129 html: onepage split |
16f02802f448
Start to produce saner HTML and CSS.
Bryan O'Sullivan <bos@serpentine.com>
parents:
146
diff
changeset
|
130 |
213
18cffee85038
Fix build of HTML pages with PNG images.
Bryan O'Sullivan <bos@serpentine.com>
parents:
202
diff
changeset
|
131 onepage: $(htlatex) html/onepage/hgbook.html html/onepage/hgbook.css $(image-html:%=html/onepage/%) |
18cffee85038
Fix build of HTML pages with PNG images.
Bryan O'Sullivan <bos@serpentine.com>
parents:
202
diff
changeset
|
132 |
18cffee85038
Fix build of HTML pages with PNG images.
Bryan O'Sullivan <bos@serpentine.com>
parents:
202
diff
changeset
|
133 html/onepage/%: % |
18cffee85038
Fix build of HTML pages with PNG images.
Bryan O'Sullivan <bos@serpentine.com>
parents:
202
diff
changeset
|
134 cp $< $@ |
171
8c1703a98266
Add a dependency on htlatex to HTML targets, even though we don't call it.
Bryan O'Sullivan <bos@serpentine.com>
parents:
170
diff
changeset
|
135 |
213
18cffee85038
Fix build of HTML pages with PNG images.
Bryan O'Sullivan <bos@serpentine.com>
parents:
202
diff
changeset
|
136 split: $(htlatex) html/split/hgbook.html html/split/hgbook.css $(image-html:%=html/split/%) |
18cffee85038
Fix build of HTML pages with PNG images.
Bryan O'Sullivan <bos@serpentine.com>
parents:
202
diff
changeset
|
137 |
18cffee85038
Fix build of HTML pages with PNG images.
Bryan O'Sullivan <bos@serpentine.com>
parents:
202
diff
changeset
|
138 html/split/%: % |
18cffee85038
Fix build of HTML pages with PNG images.
Bryan O'Sullivan <bos@serpentine.com>
parents:
202
diff
changeset
|
139 cp $< $@ |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
140 |
18
e6f4088ebe52
Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents:
16
diff
changeset
|
141 # This is a horrible hack to work around the fact that the htlatex |
e6f4088ebe52
Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents:
16
diff
changeset
|
142 # command in tex4ht is itself a horrible hack. I really don't want to |
e6f4088ebe52
Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents:
16
diff
changeset
|
143 # include verbatim the big wad of TeX that is repeated in that script, |
171
8c1703a98266
Add a dependency on htlatex to HTML targets, even though we don't call it.
Bryan O'Sullivan <bos@serpentine.com>
parents:
170
diff
changeset
|
144 # but I've given up and run a hacked copy as htlatex.book here. |
18
e6f4088ebe52
Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents:
16
diff
changeset
|
145 |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
146 define htlatex |
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
147 mkdir -p $(dir $(1)) |
170
9cd856b4bd21
Try to make HTML build a bit more portable.
Bryan O'Sullivan <bos@serpentine.com>
parents:
159
diff
changeset
|
148 cp 99book.bib $(dir $(1)) |
9cd856b4bd21
Try to make HTML build a bit more portable.
Bryan O'Sullivan <bos@serpentine.com>
parents:
159
diff
changeset
|
149 TEXINPUTS=$(dir $(2)): ./htlatex.book $(2) "bookhtml,html4-uni,$(3)" " -cunihtf -utf8" "$(dir $(1))" "$(call latex-options,$(1))" || (rm -f $(1); exit 1) |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
150 cd $(dir $(1)) && tex4ht -f/$(basename $(notdir $(1))) -cvalidate -cunihtf |
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
151 cd $(dir $(1)) && t4ht -f/$(basename $(notdir $(1))) |
149
16f02802f448
Start to produce saner HTML and CSS.
Bryan O'Sullivan <bos@serpentine.com>
parents:
146
diff
changeset
|
152 ./fixhtml.py $(dir $(1))/*.html |
214
154e4ba293e7
Delete the hgbook.css file generated by htlatex.
Bryan O'Sullivan <bos@serpentine.com>
parents:
213
diff
changeset
|
153 rm $(dir $(1))/hgbook.css |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
154 endef |
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
155 |
406 | 156 html/onepage/hgbook.html: $(sources) examples $(image-html) bookhtml.cfg |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
157 $(call htlatex,$@,$<) |
11 | 158 |
213
18cffee85038
Fix build of HTML pages with PNG images.
Bryan O'Sullivan <bos@serpentine.com>
parents:
202
diff
changeset
|
159 html/split/hgbook.html: $(sources) examples bookhtml.cfg |
11 | 160 $(call htlatex,$@,$<,2) |
18
e6f4088ebe52
Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents:
16
diff
changeset
|
161 |
e6f4088ebe52
Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents:
16
diff
changeset
|
162 # 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
|
163 |
11 | 164 %.png: %.svg |
406 | 165 ./fixsvg $< |
166 mv $<.tmp foobar.svg | |
167 inkscape -D -e $@ foobar.svg | |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
168 |
124
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
169 %.svg: %.dot |
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
170 dot -Tsvg -o $@ $< |
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
171 |
30
cc1e6f1d7161
Use PDF instead of PNG for images in the PDF book
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
26
diff
changeset
|
172 # Produce eps & pdf for the pdf |
18
e6f4088ebe52
Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents:
16
diff
changeset
|
173 |
30
cc1e6f1d7161
Use PDF instead of PNG for images in the PDF book
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
26
diff
changeset
|
174 %.pdf: %.eps |
cc1e6f1d7161
Use PDF instead of PNG for images in the PDF book
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
26
diff
changeset
|
175 epstopdf $< |
cc1e6f1d7161
Use PDF instead of PNG for images in the PDF book
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
26
diff
changeset
|
176 |
cc1e6f1d7161
Use PDF instead of PNG for images in the PDF book
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
26
diff
changeset
|
177 %.eps: %.svg |
406 | 178 ./fixsvg $< |
179 mv $<.tmp foobar.svg | |
180 inkscape -E $@ foobar.svg | |
11 | 181 |
124
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
182 %.eps: %.dot |
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
183 dot -Tps -o $@ $< |
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
184 |
172
5f305adeb584
Try to tighten up the run environment to make things more reproducible.
Bryan O'Sullivan <bos@serpentine.com>
parents:
171
diff
changeset
|
185 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
|
186 |
86 | 187 examples/.run: $(example-sources:%=examples/%.run) |
45
6b7b0339e7d6
Don't rerun examples unnecessarily.
Bryan O'Sullivan <bos@serpentine.com>
parents:
44
diff
changeset
|
188 touch examples/.run |
6b7b0339e7d6
Don't rerun examples unnecessarily.
Bryan O'Sullivan <bos@serpentine.com>
parents:
44
diff
changeset
|
189 |
6b7b0339e7d6
Don't rerun examples unnecessarily.
Bryan O'Sullivan <bos@serpentine.com>
parents:
44
diff
changeset
|
190 examples/%.run: examples/% examples/run-example |
6b7b0339e7d6
Don't rerun examples unnecessarily.
Bryan O'Sullivan <bos@serpentine.com>
parents:
44
diff
changeset
|
191 cd examples && ./run-example $(notdir $<) |
4
33a2e7b9978d
Make it possible to include example input and output from real programs.
Bryan O'Sullivan <bos@serpentine.com>
parents:
2
diff
changeset
|
192 |
250
5ecf66974def
Generate build_id.tex correctly regardless of repo format.
Bryan O'Sullivan <bos@serpentine.com>
parents:
249
diff
changeset
|
193 changelog := $(wildcard ../.hg/store/00changelog.[id]) |
5ecf66974def
Generate build_id.tex correctly regardless of repo format.
Bryan O'Sullivan <bos@serpentine.com>
parents:
249
diff
changeset
|
194 ifeq ($(changelog),) |
5ecf66974def
Generate build_id.tex correctly regardless of repo format.
Bryan O'Sullivan <bos@serpentine.com>
parents:
249
diff
changeset
|
195 changelog := $(wildcard ../.hg/00changelog.[id]) |
5ecf66974def
Generate build_id.tex correctly regardless of repo format.
Bryan O'Sullivan <bos@serpentine.com>
parents:
249
diff
changeset
|
196 endif |
5ecf66974def
Generate build_id.tex correctly regardless of repo format.
Bryan O'Sullivan <bos@serpentine.com>
parents:
249
diff
changeset
|
197 |
5ecf66974def
Generate build_id.tex correctly regardless of repo format.
Bryan O'Sullivan <bos@serpentine.com>
parents:
249
diff
changeset
|
198 build_id.tex: $(changelog) |
249
9d7388f3f483
/bin/sh fails when parsing unescaped parens
Johannes Hoff <wbunaarfubss@gmail.com>
parents:
242
diff
changeset
|
199 echo -n '$(hg-id)' > build_id.tex |
177
c54f4c106fd5
Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents:
172
diff
changeset
|
200 |
c54f4c106fd5
Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents:
172
diff
changeset
|
201 hg_id.tex: $(hg) |
249
9d7388f3f483
/bin/sh fails when parsing unescaped parens
Johannes Hoff <wbunaarfubss@gmail.com>
parents:
242
diff
changeset
|
202 echo -n '$(hg-version)' > hg_id.tex |
16
81454425eee9
Progress on a few fronts, mainly indexing and MQ chapter content
Bryan O'Sullivan <bos@serpentine.com>
parents:
11
diff
changeset
|
203 |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
204 clean: |
153
cf24633b8de7
Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents:
149
diff
changeset
|
205 rm -rf dist html pdf \ |
124
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
206 $(image-dot:%.dot=%.pdf) \ |
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
207 $(image-dot:%.dot=%.png) \ |
103 | 208 $(image-svg:%.svg=%.pdf) \ |
209 $(image-svg:%.svg=%.png) \ | |
177
c54f4c106fd5
Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents:
172
diff
changeset
|
210 examples/*.{lxo,run} examples/.run build_id.tex hg_id.tex |
153
cf24633b8de7
Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents:
149
diff
changeset
|
211 |
157
e49f4451d0e3
Add hgbook front page material.
Bryan O'Sullivan <bos@serpentine.com>
parents:
156
diff
changeset
|
212 install: pdf split $(dist-sources) |
153
cf24633b8de7
Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents:
149
diff
changeset
|
213 rm -rf dist |
cf24633b8de7
Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents:
149
diff
changeset
|
214 mkdir -p dist |
cf24633b8de7
Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents:
149
diff
changeset
|
215 cp pdf/hgbook.pdf dist |
cf24633b8de7
Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents:
149
diff
changeset
|
216 cp html/split/*.{css,html,png} dist |
157
e49f4451d0e3
Add hgbook front page material.
Bryan O'Sullivan <bos@serpentine.com>
parents:
156
diff
changeset
|
217 cp $(dist-sources) dist |
153
cf24633b8de7
Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents:
149
diff
changeset
|
218 |
cf24633b8de7
Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents:
149
diff
changeset
|
219 rsync: install |
cf24633b8de7
Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents:
149
diff
changeset
|
220 rsync -avz --delete dist sp.red-bean.com:public_html/hgbook |