Mercurial > hgbook
annotate en/Makefile @ 198:615f3c6b30e1
Start to describe branch management.
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Mon, 16 Apr 2007 17:21:38 -0700 |
parents | 4237e45506ee |
children | 6f167e644762 |
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 \ |
34
c0979ed1eabd
Get started on hook chapter.
Bryan O'Sullivan <bos@serpentine.com>
parents:
32
diff
changeset
|
15 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
|
16 intro.tex \ |
81454425eee9
Progress on a few fronts, mainly indexing and MQ chapter content
Bryan O'Sullivan <bos@serpentine.com>
parents:
11
diff
changeset
|
17 mq.tex \ |
104
32bf9a5f22c0
Refactor MQ chapter into three.
Bryan O'Sullivan <bos@serpentine.com>
parents:
103
diff
changeset
|
18 mq-collab.tex \ |
32bf9a5f22c0
Refactor MQ chapter into three.
Bryan O'Sullivan <bos@serpentine.com>
parents:
103
diff
changeset
|
19 mq-ref.tex \ |
76
df88df78288d
Add template chapter to build.
Bryan O'Sullivan <bos@serpentine.com>
parents:
69
diff
changeset
|
20 preface.tex \ |
85
b7c69a68b0cc
A little progress on "lightning tour".
Bryan O'Sullivan <bos@serpentine.com>
parents:
84
diff
changeset
|
21 srcinstall.tex \ |
84 | 22 template.tex \ |
95
47ea206351d5
Split tour into two sections.
Bryan O'Sullivan <bos@serpentine.com>
parents:
87
diff
changeset
|
23 tour-basic.tex \ |
121
9094c9fda8ec
Start chapter on error recovery.
Bryan O'Sullivan <bos@serpentine.com>
parents:
118
diff
changeset
|
24 tour-merge.tex \ |
9094c9fda8ec
Start chapter on error recovery.
Bryan O'Sullivan <bos@serpentine.com>
parents:
118
diff
changeset
|
25 undo.tex |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
26 |
11 | 27 image-sources := \ |
179
5fc4a45c069f
Continue documentation of collaboration models.
Bryan O'Sullivan <bos@serpentine.com>
parents:
177
diff
changeset
|
28 feature-branches.dot \ |
108
e0b961975c5e
First bit of concepts chapter.
Bryan O'Sullivan <bos@serpentine.com>
parents:
104
diff
changeset
|
29 filelog.svg \ |
103 | 30 kdiff3.png \ |
109
1b67dc96f27a
Snapshot of concepts chapter.
Bryan O'Sullivan <bos@serpentine.com>
parents:
108
diff
changeset
|
31 metadata.svg \ |
96
7d7ddc3a57af
Split tour into two chapters.
Bryan O'Sullivan <bos@serpentine.com>
parents:
95
diff
changeset
|
32 mq-stack.svg \ |
149
16f02802f448
Start to produce saner HTML and CSS.
Bryan O'Sullivan <bos@serpentine.com>
parents:
146
diff
changeset
|
33 note.png \ |
112 | 34 revlog.svg \ |
110 | 35 snapshot.svg \ |
99 | 36 tour-history.svg \ |
103 | 37 tour-merge-conflict.svg \ |
38 tour-merge-merge.svg \ | |
100
272146fab009
Add yet another illustration of the merge process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
99
diff
changeset
|
39 tour-merge-pull.svg \ |
113
a0f57b3e677e
More concepts, this time working directory stuff.
Bryan O'Sullivan <bos@serpentine.com>
parents:
112
diff
changeset
|
40 tour-merge-sep-repos.svg \ |
124
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
41 undo-manual.dot \ |
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
42 undo-manual-merge.dot \ |
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
43 undo-non-tip.dot \ |
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
44 undo-simple.dot \ |
113
a0f57b3e677e
More concepts, this time working directory stuff.
Bryan O'Sullivan <bos@serpentine.com>
parents:
112
diff
changeset
|
45 wdir.svg \ |
115
b74102b56df5
Wow! Lots more work detailing the working directory, merging, etc.
Bryan O'Sullivan <bos@serpentine.com>
parents:
113
diff
changeset
|
46 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
|
47 wdir-branch.svg \ |
b74102b56df5
Wow! Lots more work detailing the working directory, merging, etc.
Bryan O'Sullivan <bos@serpentine.com>
parents:
113
diff
changeset
|
48 wdir-merge.svg \ |
b74102b56df5
Wow! Lots more work detailing the working directory, merging, etc.
Bryan O'Sullivan <bos@serpentine.com>
parents:
113
diff
changeset
|
49 wdir-pre-branch.svg |
103 | 50 |
124
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
51 image-dot := $(filter %.dot,$(image-sources)) |
103 | 52 image-svg := $(filter %.svg,$(image-sources)) |
124
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
53 image-png := $(filter %.png,$(image-sources)) |
11 | 54 |
4
33a2e7b9978d
Make it possible to include example input and output from real programs.
Bryan O'Sullivan <bos@serpentine.com>
parents:
2
diff
changeset
|
55 example-sources := \ |
124
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
56 backout \ |
131
153efeaa8f57
Fix stupid build bugs.
Bryan O'Sullivan <bos@serpentine.com>
parents:
124
diff
changeset
|
57 bisect \ |
179
5fc4a45c069f
Continue documentation of collaboration models.
Bryan O'Sullivan <bos@serpentine.com>
parents:
177
diff
changeset
|
58 branching \ |
198
615f3c6b30e1
Start to describe branch management.
Bryan O'Sullivan <bos@serpentine.com>
parents:
196
diff
changeset
|
59 branch-repo \ |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
60 cmdref \ |
117
6b0f4498569e
Beef up daily routine material. Focus on merge-across-copy.
Bryan O'Sullivan <bos@serpentine.com>
parents:
115
diff
changeset
|
61 daily.copy \ |
86 | 62 daily.files \ |
118
1ee53cb37a99
More progress on daily work.
Bryan O'Sullivan <bos@serpentine.com>
parents:
117
diff
changeset
|
63 daily.rename \ |
122
3af28630fe8c
How to goodbye depression by reverting one thousand times daily.
Bryan O'Sullivan <bos@serpentine.com>
parents:
121
diff
changeset
|
64 daily.revert \ |
133
1e013fbe35f7
Lots of filename related content. A little more command reference
Bryan O'Sullivan <bos@serpentine.com>
parents:
132
diff
changeset
|
65 filenames \ |
86 | 66 hook.msglen \ |
67 hook.simple \ | |
68 hook.ws \ | |
156
91a936be78b8
Document merge behaviour with file names.
Bryan O'Sullivan <bos@serpentine.com>
parents:
153
diff
changeset
|
69 issue29 \ |
104
32bf9a5f22c0
Refactor MQ chapter into three.
Bryan O'Sullivan <bos@serpentine.com>
parents:
103
diff
changeset
|
70 mq.guards \ |
86 | 71 mq.qinit-help \ |
72 mq.dodiff \ | |
73 mq.id \ | |
74 mq.tarball \ | |
75 mq.tools \ | |
76 mq.tutorial \ | |
156
91a936be78b8
Document merge behaviour with file names.
Bryan O'Sullivan <bos@serpentine.com>
parents:
153
diff
changeset
|
77 rename.divergent \ |
121
9094c9fda8ec
Start chapter on error recovery.
Bryan O'Sullivan <bos@serpentine.com>
parents:
118
diff
changeset
|
78 rollback \ |
196
4237e45506ee
Add early material describing tags.
Bryan O'Sullivan <bos@serpentine.com>
parents:
195
diff
changeset
|
79 tag \ |
86 | 80 template.simple \ |
87 | 81 template.svnstyle \ |
103 | 82 tour \ |
83 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
|
84 |
172
5f305adeb584
Try to tighten up the run environment to make things more reproducible.
Bryan O'Sullivan <bos@serpentine.com>
parents:
171
diff
changeset
|
85 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
|
86 /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
|
87 |
157
e49f4451d0e3
Add hgbook front page material.
Bryan O'Sullivan <bos@serpentine.com>
parents:
156
diff
changeset
|
88 dist-sources := \ |
159
7355af913937
First steps on collaboration chapter.
Bryan O'Sullivan <bos@serpentine.com>
parents:
157
diff
changeset
|
89 ../html/hgicon.png \ |
157
e49f4451d0e3
Add hgbook front page material.
Bryan O'Sullivan <bos@serpentine.com>
parents:
156
diff
changeset
|
90 ../html/index.html.var \ |
e49f4451d0e3
Add hgbook front page material.
Bryan O'Sullivan <bos@serpentine.com>
parents:
156
diff
changeset
|
91 ../html/index.en.html |
e49f4451d0e3
Add hgbook front page material.
Bryan O'Sullivan <bos@serpentine.com>
parents:
156
diff
changeset
|
92 |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
93 latex-options = \ |
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
94 -interaction batchmode \ |
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
95 -output-directory $(dir $(1)) \ |
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
96 -jobname $(basename $(notdir $(1))) |
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
97 |
177
c54f4c106fd5
Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents:
172
diff
changeset
|
98 hg = $(shell which hg) |
c54f4c106fd5
Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents:
172
diff
changeset
|
99 |
185 | 100 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
|
101 |
c54f4c106fd5
Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents:
172
diff
changeset
|
102 hg-version = $(shell hg version -q | \ |
c54f4c106fd5
Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents:
172
diff
changeset
|
103 sed 's,.*(version \(unknown\|[a-f0-9]*\)),\1,') |
c54f4c106fd5
Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents:
172
diff
changeset
|
104 |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
105 all: pdf html |
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
106 |
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
107 pdf: pdf/hgbook.pdf |
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
108 |
18
e6f4088ebe52
Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents:
16
diff
changeset
|
109 define pdf |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
110 mkdir -p $(dir $@) |
21
ce3339dbeb6f
Get beta feedback stuff into better shape.
Bryan O'Sullivan <bos@serpentine.com>
parents:
18
diff
changeset
|
111 TEXINPUTS=$(dir $<): pdflatex $(call latex-options,$@) $< || (rm -f $@; exit 1) |
2 | 112 cp 99book.bib $(dir $@) |
113 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
|
114 cd $(dir $@) && makeindex $(basename $(notdir $@)) |
21
ce3339dbeb6f
Get beta feedback stuff into better shape.
Bryan O'Sullivan <bos@serpentine.com>
parents:
18
diff
changeset
|
115 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
|
116 TEXINPUTS=$(dir $<): pdflatex $(call latex-options,$@) $< || (rm -f $@; exit 1) |
26 | 117 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
|
118 endef |
e6f4088ebe52
Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents:
16
diff
changeset
|
119 |
124
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
120 image-pdf := $(image-dot:%.dot=%.pdf) $(image-svg:%.svg=%.pdf) $(image-png) |
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
121 |
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
122 pdf/hgbook.pdf: $(sources) $(image-pdf) examples |
18
e6f4088ebe52
Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents:
16
diff
changeset
|
123 $(call pdf) |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
124 |
149
16f02802f448
Start to produce saner HTML and CSS.
Bryan O'Sullivan <bos@serpentine.com>
parents:
146
diff
changeset
|
125 html: onepage split |
16f02802f448
Start to produce saner HTML and CSS.
Bryan O'Sullivan <bos@serpentine.com>
parents:
146
diff
changeset
|
126 |
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
|
127 htlatex := /usr/bin/htlatex |
149
16f02802f448
Start to produce saner HTML and CSS.
Bryan O'Sullivan <bos@serpentine.com>
parents:
146
diff
changeset
|
128 |
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
|
129 onepage: $(htlatex) html/onepage/hgbook.html |
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
|
130 |
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
|
131 split: $(htlatex) html/split/hgbook.html |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
132 |
18
e6f4088ebe52
Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents:
16
diff
changeset
|
133 # 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
|
134 # 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
|
135 # 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
|
136 # 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
|
137 |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
138 define htlatex |
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
139 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
|
140 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
|
141 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
|
142 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
|
143 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
|
144 ./fixhtml.py $(dir $(1))/*.html |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
145 endef |
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
146 |
124
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
147 image-html := $(image-dot:%.dot=%.png) $(image-svg:%.svg=%.png) $(image-png) |
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
148 |
149
16f02802f448
Start to produce saner HTML and CSS.
Bryan O'Sullivan <bos@serpentine.com>
parents:
146
diff
changeset
|
149 html/onepage/hgbook.html: $(sources) $(image-html) examples hgbook.css bookhtml.cfg |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
150 $(call htlatex,$@,$<) |
11 | 151 cp $(image-sources:%.svg=%.png) $(dir $@) |
149
16f02802f448
Start to produce saner HTML and CSS.
Bryan O'Sullivan <bos@serpentine.com>
parents:
146
diff
changeset
|
152 cp hgbook.css $(dir $@) |
11 | 153 |
149
16f02802f448
Start to produce saner HTML and CSS.
Bryan O'Sullivan <bos@serpentine.com>
parents:
146
diff
changeset
|
154 html/split/hgbook.html: $(sources) $(image-html) examples hgbook.css bookhtml.cfg |
11 | 155 $(call htlatex,$@,$<,2) |
156 cp $(image-sources:%.svg=%.png) $(dir $@) | |
149
16f02802f448
Start to produce saner HTML and CSS.
Bryan O'Sullivan <bos@serpentine.com>
parents:
146
diff
changeset
|
157 cp hgbook.css $(dir $@) |
18
e6f4088ebe52
Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents:
16
diff
changeset
|
158 |
e6f4088ebe52
Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents:
16
diff
changeset
|
159 # 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
|
160 |
11 | 161 %.png: %.svg |
162 inkscape -D -e $@ $< | |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
163 |
124
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
164 %.svg: %.dot |
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
165 dot -Tsvg -o $@ $< |
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
166 |
30
cc1e6f1d7161
Use PDF instead of PNG for images in the PDF book
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
26
diff
changeset
|
167 # 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
|
168 |
30
cc1e6f1d7161
Use PDF instead of PNG for images in the PDF book
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
26
diff
changeset
|
169 %.pdf: %.eps |
cc1e6f1d7161
Use PDF instead of PNG for images in the PDF book
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
26
diff
changeset
|
170 epstopdf $< |
cc1e6f1d7161
Use PDF instead of PNG for images in the PDF book
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
26
diff
changeset
|
171 |
cc1e6f1d7161
Use PDF instead of PNG for images in the PDF book
Josef "Jeff" Sipek <jeffpc@josefsipek.net>
parents:
26
diff
changeset
|
172 %.eps: %.svg |
32
b7d46e86a5f1
Stop inkscape from printing an annoying message.
Bryan O'Sullivan <bos@serpentine.com>
parents:
31
diff
changeset
|
173 inkscape -E $@ $< |
11 | 174 |
124
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
175 %.eps: %.dot |
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
176 dot -Tps -o $@ $< |
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
177 |
172
5f305adeb584
Try to tighten up the run environment to make things more reproducible.
Bryan O'Sullivan <bos@serpentine.com>
parents:
171
diff
changeset
|
178 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
|
179 |
86 | 180 examples/.run: $(example-sources:%=examples/%.run) |
45
6b7b0339e7d6
Don't rerun examples unnecessarily.
Bryan O'Sullivan <bos@serpentine.com>
parents:
44
diff
changeset
|
181 touch examples/.run |
6b7b0339e7d6
Don't rerun examples unnecessarily.
Bryan O'Sullivan <bos@serpentine.com>
parents:
44
diff
changeset
|
182 |
6b7b0339e7d6
Don't rerun examples unnecessarily.
Bryan O'Sullivan <bos@serpentine.com>
parents:
44
diff
changeset
|
183 examples/%.run: examples/% examples/run-example |
6b7b0339e7d6
Don't rerun examples unnecessarily.
Bryan O'Sullivan <bos@serpentine.com>
parents:
44
diff
changeset
|
184 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
|
185 |
18
e6f4088ebe52
Generate a PDF file with a feedback link on each paragraph.
Bryan O'Sullivan <bos@serpentine.com>
parents:
16
diff
changeset
|
186 build_id.tex: $(wildcard ../.hg/00changelog.[id]) |
177
c54f4c106fd5
Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents:
172
diff
changeset
|
187 echo -n $(hg-id) > build_id.tex |
c54f4c106fd5
Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents:
172
diff
changeset
|
188 |
c54f4c106fd5
Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents:
172
diff
changeset
|
189 hg_id.tex: $(hg) |
c54f4c106fd5
Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents:
172
diff
changeset
|
190 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
|
191 |
0
76fba5835a1b
Beginnings of a build process and file layout.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff
changeset
|
192 clean: |
153
cf24633b8de7
Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents:
149
diff
changeset
|
193 rm -rf dist html pdf \ |
124
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
194 $(image-dot:%.dot=%.pdf) \ |
c9aad709bd3a
Document the backout command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
122
diff
changeset
|
195 $(image-dot:%.dot=%.png) \ |
103 | 196 $(image-svg:%.svg=%.pdf) \ |
197 $(image-svg:%.svg=%.png) \ | |
177
c54f4c106fd5
Record the version of Mercurial used.
Bryan O'Sullivan <bos@serpentine.com>
parents:
172
diff
changeset
|
198 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
|
199 |
157
e49f4451d0e3
Add hgbook front page material.
Bryan O'Sullivan <bos@serpentine.com>
parents:
156
diff
changeset
|
200 install: pdf split $(dist-sources) |
153
cf24633b8de7
Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents:
149
diff
changeset
|
201 rm -rf dist |
cf24633b8de7
Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents:
149
diff
changeset
|
202 mkdir -p dist |
cf24633b8de7
Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents:
149
diff
changeset
|
203 cp pdf/hgbook.pdf dist |
cf24633b8de7
Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents:
149
diff
changeset
|
204 cp html/split/*.{css,html,png} dist |
157
e49f4451d0e3
Add hgbook front page material.
Bryan O'Sullivan <bos@serpentine.com>
parents:
156
diff
changeset
|
205 cp $(dist-sources) dist |
153
cf24633b8de7
Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents:
149
diff
changeset
|
206 |
cf24633b8de7
Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents:
149
diff
changeset
|
207 rsync: install |
cf24633b8de7
Set up simple distribution rules.
Bryan O'Sullivan <bos@serpentine.com>
parents:
149
diff
changeset
|
208 rsync -avz --delete dist sp.red-bean.com:public_html/hgbook |