~bzr-pqm/bzr/bzr.dev

3346.2.2 by Martin Pool
Add a simple 'make dist' rule
1
# Copyright (C) 2005, 2006, 2007, 2008 Canonical Ltd
2399.1.1 by John Arbash Meinel
Update Makefile to add 'make api-docs' using pydoctor
2
#
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
4183.7.1 by Sabin Iacob
update FSF mailing address
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
2399.1.1 by John Arbash Meinel
Update Makefile to add 'make api-docs' using pydoctor
16
17
# A relatively simple Makefile to assist in building parts of bzr. Mostly for
18
# building documentation, etc.
19
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
20
21
### Core Stuff ###
22
2916.1.1 by Andrew Bennetts
Allow overriding the PYTHON executable for 'make extensions', and remove *.so files in 'make clean'.
23
PYTHON=python
3514.1.1 by John Arbash Meinel
Updates to allow building with mingw, and to exclude Vista system dlls
24
PYTHON_BUILDFLAGS=
2916.1.1 by Andrew Bennetts
Allow overriding the PYTHON executable for 'make extensions', and remove *.so files in 'make clean'.
25
3893.1.1 by Aaron Bentley
Add check-nodocs target
26
.PHONY: all clean extensions pyflakes api-docs check-nodocs check
1739.1.6 by Robert Collins
Resolve conflicts with bzr.dev.
27
1739.1.5 by Robert Collins
Review feedback.
28
all: extensions
29
30
extensions:
1739.1.3 by Robert Collins
Merge bzr.dev.
31
	@echo "building extension modules."
3514.1.1 by John Arbash Meinel
Updates to allow building with mingw, and to exclude Vista system dlls
32
	$(PYTHON) setup.py build_ext -i $(PYTHON_BUILDFLAGS)
1102 by Martin Pool
- merge test refactoring from robertc
33
3893.1.1 by Aaron Bentley
Add check-nodocs target
34
check: docs check-nodocs
35
36
check-nodocs: extensions
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
37
	$(PYTHON) -Werror -O ./bzr selftest -1v $(tests)
1526.1.1 by Robert Collins
Run the test suite with no locale as well as the default locale. Also add a test for build_tree_shape to selftest.
38
	@echo "Running all tests with no locale."
2749.1.1 by Martin Pool
(mbp) Show 'ascii' prefix when make check runs tests again in ascii mode
39
	LC_CTYPE= LANG=C LC_ALL= ./bzr selftest -1v $(tests) 2>&1 | sed -e 's/^/[ascii] /'
1102 by Martin Pool
- merge test refactoring from robertc
40
1773.4.1 by Martin Pool
Add pyflakes makefile target; fix many warnings
41
# Run Python style checker (apt-get install pyflakes)
2625.11.1 by Martin Pool
(trivial) Remove obsolete Makefile targets
42
#
43
# Note that at present this gives many false warnings, because it doesn't
44
# know about identifiers loaded through lazy_import.
1773.4.1 by Martin Pool
Add pyflakes makefile target; fix many warnings
45
pyflakes:
46
	pyflakes bzrlib
47
48
pyflakes-nounused:
49
	# There are many of these warnings at the moment and they're not a
50
	# high priority to fix
51
	pyflakes bzrlib | grep -v ' imported but unused'
52
53
clean:
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
54
	$(PYTHON) setup.py clean
2916.1.1 by Andrew Bennetts
Allow overriding the PYTHON executable for 'make extensions', and remove *.so files in 'make clean'.
55
	-find . -name "*.pyc" -o -name "*.pyo" -o -name "*.so" | xargs rm -f
1185.1.21 by Robert Collins
add a clean target
56
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
57
# Build API documentation
2399.1.9 by John Arbash Meinel
Since I have epydoc working with lazy imports, make it the default api doc generator.
58
docfiles = bzr bzrlib
2399.1.1 by John Arbash Meinel
Update Makefile to add 'make api-docs' using pydoctor
59
api-docs:
2413.4.1 by John Arbash Meinel
Cherrypick just the epydoc builder changes.
60
	mkdir -p api/html
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
61
	PYTHONPATH=$(PWD) $(PYTHON) tools/bzr_epydoc --html -o api/html --docformat 'restructuredtext en' $(docfiles)
2399.1.12 by John Arbash Meinel
Add make check-api-docs, which runs epydoc --check, rather than generating output
62
check-api-docs:
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
63
	PYTHONPATH=$(PWD) $(PYTHON) tools/bzr_epydoc --check --docformat 'restructuredtext en' $(docfiles)
2399.1.12 by John Arbash Meinel
Add make check-api-docs, which runs epydoc --check, rather than generating output
64
2625.11.2 by Martin Pool
Put back better rules for building ctags
65
# build tags for emacs and vim
66
TAGS:
67
	ctags -R -e bzrlib
68
69
tags:
70
	ctags -R bzrlib
71
72
# these are treated as phony so they'll always be rebuilt - it's pretty quick
73
.PHONY: TAGS tags
74
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
75
### Documentation ###
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
76
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
77
# set PRETTY to get docs that look like the Bazaar web site
78
ifdef PRETTY
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
79
rst2html := $(PYTHON) tools/rst2prettyhtml.py doc/bazaar-vcs.org.kid 
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
80
else
3113.3.1 by Alexander Belchenko
Halt conversion of ReST to HTML if there is warnings.
81
rst2html := $(PYTHON) tools/rst2html.py --link-stylesheet --footnote-references=superscript --halt=warning
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
82
endif
83
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
84
# translate txt docs to html
2691.1.4 by Ian Clatworthy
teach Makefile and .bzrignore re new doc structure
85
derived_txt_files := \
86
	doc/en/user-reference/bzr_man.txt \
87
	doc/en/developer-guide/HACKING.txt \
88
	doc/en/release-notes/NEWS.txt
3431.1.2 by Martin Pool
Build Spanish docs from the main Makefile
89
txt_files := $(wildcard doc/en/tutorials/*.txt) \
90
	$(derived_txt_files) \
2977.1.14 by Ian Clatworthy
change Makefile to support tutorials
91
	doc/en/user-guide/index.txt \
2691.1.16 by Ian Clatworthy
Ensure doc hierarchy is setup correctly for the Windows installer
92
	doc/en/mini-tutorial/index.txt \
3431.1.2 by Martin Pool
Build Spanish docs from the main Makefile
93
	$(wildcard doc/es/guia-usario/*.txt) \
94
	doc/es/mini-tutorial/index.txt \
95
	doc/index.txt \
96
	doc/index.es.txt
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
97
non_txt_files := \
98
       doc/default.css \
3065.3.1 by Alexander Belchenko
include doc/en/user-guide/images/*.png to WEB_DOCS
99
       doc/en/quick-reference/quick-start-summary.svg \
3065.3.3 by Alexander Belchenko
merge bzr.dev
100
       doc/en/quick-reference/quick-start-summary.png \
3092.3.1 by Ian Clatworthy
fix Makefile rules for doc generation
101
       doc/en/quick-reference/quick-start-summary.pdf \
3431.1.2 by Martin Pool
Build Spanish docs from the main Makefile
102
       $(wildcard doc/en/user-guide/images/*.png) \
103
       doc/es/referencia-rapida/referencia-rapida.svg \
104
       doc/es/referencia-rapida/referencia-rapida.png \
105
       doc/es/referencia-rapida/referencia-rapida.pdf \
106
       $(wildcard doc/es/guia-usuario/images/*.png)
2666.2.1 by Alexander Belchenko
change generated documentation extension from htm to html
107
htm_files := $(patsubst %.txt, %.html, $(txt_files)) 
4202.5.1 by Eric Siegerman
Don't generate HTML files for .txt's that are transcluded.
108
109
# doc/developers/*.txt files that should *not* be individually
110
# converted to HTML
111
dev_txt_nohtml := \
112
	doc/developers/add.txt \
113
	doc/developers/annotate.txt \
114
	doc/developers/bundle-creation.txt \
115
	doc/developers/commit.txt \
116
	doc/developers/diff.txt \
117
	doc/developers/directory-fingerprints.txt \
118
	doc/developers/gc.txt \
119
	doc/developers/incremental-push-pull.txt \
120
	doc/developers/initial-push-pull.txt \
121
	doc/developers/merge-scaling.txt \
122
	doc/developers/missing.txt \
123
	doc/developers/performance-contributing.txt \
124
	doc/developers/performance-roadmap-rationale.txt \
125
	doc/developers/performance-use-case-analysis.txt \
126
	doc/developers/planned-change-integration.txt \
127
	doc/developers/planned-performance-changes.txt \
128
	doc/developers/revert.txt \
129
	doc/developers/status.txt \
130
	doc/developers/uncommit.txt
131
132
dev_txt_all := $(wildcard $(addsuffix /*.txt, doc/developers))
133
dev_txt_files := $(filter-out $(dev_txt_nohtml), $(dev_txt_all))
2666.2.1 by Alexander Belchenko
change generated documentation extension from htm to html
134
dev_htm_files := $(patsubst %.txt, %.html, $(dev_txt_files)) 
2054.2.14 by Aaron Bentley
Add 'pretty-docs' target to makefile
135
3092.3.1 by Ian Clatworthy
fix Makefile rules for doc generation
136
doc/en/user-guide/index.html: $(wildcard $(addsuffix /*.txt, doc/en/user-guide)) 
3097.1.1 by Ian Clatworthy
Tweak Makefile doc fix (Ian Clatworthy)
137
	$(rst2html) --stylesheet=../../default.css doc/en/user-guide/index.txt $@
3092.3.1 by Ian Clatworthy
fix Makefile rules for doc generation
138
4000.4.1 by Colin D Bennett
Generate PDF version of the User Guide.
139
# Set the paper size for PDF files.
140
# Options:  'a4' (ISO A4 size), 'letter' (US Letter size)
141
PAPERSIZE = a4
4000.4.2 by Colin D Bennett
Made PDF documents a separate target for people who don't have LaTeX installed.
142
PDF_DOCS := doc/en/user-guide/user-guide.$(PAPERSIZE).pdf
4000.4.1 by Colin D Bennett
Generate PDF version of the User Guide.
143
144
# Copy and modify the RST sources, and convert SVG images to PDF
145
# files for use a images in the LaTeX-generated PDF.
146
# Then generate the PDF output from the modified RST sources.
4000.4.5 by Colin D Bennett
Strip trailing whitespace.
147
doc/en/user-guide/user-guide.$(PAPERSIZE).pdf: $(wildcard $(addsuffix /*.txt, doc/en/user-guide))
4000.4.1 by Colin D Bennett
Generate PDF version of the User Guide.
148
	mkdir -p doc/en/user-guide/latex_prepared
149
	$(PYTHON) tools/prepare_for_latex.py \
150
	    --out-dir=doc/en/user-guide/latex_prepared \
151
	    --in-dir=doc/en/user-guide
152
	cd doc/en/user-guide/latex_prepared && \
153
	    $(PYTHON) ../../../../tools/rst2pdf.py \
154
	        --documentoptions=10pt,$(PAPERSIZE)paper \
155
	        --input-encoding=UTF-8:strict --output-encoding=UTF-8:strict \
156
	        --strict --title="Bazaar User Guide" \
157
	        index.txt ../user-guide.$(PAPERSIZE).pdf
158
2666.2.1 by Alexander Belchenko
change generated documentation extension from htm to html
159
doc/developers/%.html: doc/developers/%.txt
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
160
	$(rst2html) --stylesheet=../default.css $< $@
2666.2.1 by Alexander Belchenko
change generated documentation extension from htm to html
161
2691.1.6 by Ian Clatworthy
Add a top level doc index
162
doc/index.html: doc/index.txt
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
163
	$(rst2html) --stylesheet=default.css $< $@
2691.1.6 by Ian Clatworthy
Add a top level doc index
164
2666.2.1 by Alexander Belchenko
change generated documentation extension from htm to html
165
%.html: %.txt
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
166
	$(rst2html) --stylesheet=../../default.css $< $@
2054.2.14 by Aaron Bentley
Add 'pretty-docs' target to makefile
167
2425.1.1 by Robert Collins
``make docs`` now creates a man page at ``man1/bzr.1`` fixing bug 107388.
168
MAN_DEPENDENCIES = bzrlib/builtins.py \
1928.2.1 by Alexander Belchenko
New target to produce html docs to upload on server
169
		 bzrlib/bundle/commands.py \
170
		 bzrlib/conflicts.py \
3089.3.14 by Ian Clatworthy
follow-up tweaks to bzr.dev integration
171
		 bzrlib/help_topics/__init__.py \
3892.1.1 by Ian Clatworthy
improve help on storage formats
172
		 bzrlib/bzrdir.py \
1928.2.1 by Alexander Belchenko
New target to produce html docs to upload on server
173
		 bzrlib/sign_my_commits.py \
3053.8.1 by Ian Clatworthy
Improve bug tracker integration documentation (Ian Clatworthy)
174
		 bzrlib/bugtracker.py \
1928.2.1 by Alexander Belchenko
New target to produce html docs to upload on server
175
		 generate_docs.py \
176
		 tools/doc_generate/__init__.py \
2677.1.1 by Alexander Belchenko
rst2html: workaround for IE bug with id="tags"
177
		 tools/doc_generate/autodoc_man.py \
3089.3.4 by Ian Clatworthy
merge Alex's changes to support Windows installer and use bzrlib/help for topics
178
		 tools/doc_generate/autodoc_rstx.py \
3089.3.6 by Ian Clatworthy
make help topics more discoverable
179
		 $(wildcard $(addsuffix /*.txt, bzrlib/help_topics/en)) 
2977.1.14 by Ian Clatworthy
change Makefile to support tutorials
180
2691.1.4 by Ian Clatworthy
teach Makefile and .bzrignore re new doc structure
181
doc/en/user-reference/bzr_man.txt: $(MAN_DEPENDENCIES)
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
182
	$(PYTHON) generate_docs.py -o $@ rstx
2425.1.1 by Robert Collins
``make docs`` now creates a man page at ``man1/bzr.1`` fixing bug 107388.
183
2691.1.4 by Ian Clatworthy
teach Makefile and .bzrignore re new doc structure
184
doc/en/developer-guide/HACKING.txt: doc/developers/HACKING.txt
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
185
	$(PYTHON) tools/win32/ostools.py copytodir doc/developers/HACKING.txt doc/en/developer-guide
2691.1.4 by Ian Clatworthy
teach Makefile and .bzrignore re new doc structure
186
187
doc/en/release-notes/NEWS.txt: NEWS
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
188
	$(PYTHON) -c "import shutil; shutil.copyfile('$<', '$@')"
2691.1.4 by Ian Clatworthy
teach Makefile and .bzrignore re new doc structure
189
2425.1.1 by Robert Collins
``make docs`` now creates a man page at ``man1/bzr.1`` fixing bug 107388.
190
MAN_PAGES = man1/bzr.1
191
man1/bzr.1: $(MAN_DEPENDENCIES)
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
192
	$(PYTHON) generate_docs.py -o $@ man
2425.1.1 by Robert Collins
``make docs`` now creates a man page at ``man1/bzr.1`` fixing bug 107388.
193
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
194
# build a png of our performance task list
195
doc/developers/performance.png: doc/developers/performance.dot
196
	@echo Generating $@
197
	@dot -Tpng $< -o$@ || echo "Dot not installed; skipping generation of $@"
198
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
199
derived_web_docs = $(htm_files) $(dev_htm_files) doc/developers/performance.png
200
WEB_DOCS = $(derived_web_docs) $(non_txt_files)
4000.4.2 by Colin D Bennett
Made PDF documents a separate target for people who don't have LaTeX installed.
201
ALL_DOCS = $(derived_web_docs) $(MAN_PAGES)
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
202
203
# the main target to build all the docs
204
docs: $(ALL_DOCS)
205
206
# produce a tree containing just the final docs, ready for uploading to the web
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
207
HTMLDIR := html_docs
208
html-docs: docs
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
209
	$(PYTHON) tools/win32/ostools.py copytree $(WEB_DOCS) $(HTMLDIR)
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
210
4000.4.4 by Colin D Bennett
Put PDF cleanup in clean-docs target; added note on Inkscape requirement.
211
# Produce PDF documents.  Requires pdfLaTeX, rubber, and Inkscape.
4000.4.2 by Colin D Bennett
Made PDF documents a separate target for people who don't have LaTeX installed.
212
pdf-docs: $(PDF_DOCS)
213
1928.2.1 by Alexander Belchenko
New target to produce html docs to upload on server
214
# clean produced docs
215
clean-docs:
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
216
	$(PYTHON) tools/win32/ostools.py remove $(ALL_DOCS) \
4000.4.4 by Colin D Bennett
Put PDF cleanup in clean-docs target; added note on Inkscape requirement.
217
	    $(HTMLDIR) $(derived_txt_files)
218
	rm -f doc/en/user-guide/*.pdf
219
	rm -rf doc/en/user-guide/latex_prepared
2522.3.1 by Robert Collins
Draft proposed integration order for performance changes.
220
221
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
222
### Windows Support ###
1928.2.1 by Alexander Belchenko
New target to produce html docs to upload on server
223
224
# make bzr.exe for win32 with py2exe
225
exe:
226
	@echo *** Make bzr.exe
3514.1.1 by John Arbash Meinel
Updates to allow building with mingw, and to exclude Vista system dlls
227
	$(PYTHON) setup.py build_ext -i -f $(PYTHON_BUILDFLAGS)
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
228
	$(PYTHON) setup.py py2exe > py2exe.log
229
	$(PYTHON) tools/win32/ostools.py copytodir tools/win32/start_bzr.bat win32_bzr.exe
230
	$(PYTHON) tools/win32/ostools.py copytodir tools/win32/bazaar.url win32_bzr.exe
1928.2.1 by Alexander Belchenko
New target to produce html docs to upload on server
231
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
232
# win32 installer for bzr.exe
1982.2.1 by Alexander Belchenko
small but important fix for 'make installer' dependencies
233
installer: exe copy-docs
1861.2.18 by Alexander Belchenko
Makefile: cross-platform actions for building installer
234
	@echo *** Make windows installer
3557.1.3 by John Arbash Meinel
trivial tweak of Makefile to use the PYTHON variable
235
	$(PYTHON) tools/win32/run_script.py cog.py -d -o tools/win32/bzr.iss tools/win32/bzr.iss.cog
1861.2.18 by Alexander Belchenko
Makefile: cross-platform actions for building installer
236
	iscc /Q tools/win32/bzr.iss
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
237
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
238
# win32 Python's distutils-based installer
239
# require to have Python interpreter installed on win32
2946.2.1 by Alexander Belchenko
windows python-based installer: shortcut for uninstall action
240
py-inst-24: docs
2571.3.1 by Alexander Belchenko
Building Python-based installer for bot Python 2.4 and 2.5
241
	python24 setup.py bdist_wininst --install-script="bzr-win32-bdist-postinstall.py" -d .
2946.2.1 by Alexander Belchenko
windows python-based installer: shortcut for uninstall action
242
243
py-inst-25: docs
2571.3.1 by Alexander Belchenko
Building Python-based installer for bot Python 2.4 and 2.5
244
	python25 setup.py bdist_wininst --install-script="bzr-win32-bdist-postinstall.py" -d .
1821.1.2 by Alexander Belchenko
resurrected python's distutils based installer for win32
245
2946.2.1 by Alexander Belchenko
windows python-based installer: shortcut for uninstall action
246
python-installer: py-inst-24 py-inst-25
247
248
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
249
copy-docs: docs
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
250
	$(PYTHON) tools/win32/ostools.py copytodir README win32_bzr.exe/doc
251
	$(PYTHON) tools/win32/ostools.py copytree $(WEB_DOCS) win32_bzr.exe
1821.1.2 by Alexander Belchenko
resurrected python's distutils based installer for win32
252
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
253
# clean on win32 all installer-related files and directories
2666.2.1 by Alexander Belchenko
change generated documentation extension from htm to html
254
clean-win32: clean-docs
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
255
	$(PYTHON) tools/win32/ostools.py remove build
256
	$(PYTHON) tools/win32/ostools.py remove win32_bzr.exe
257
	$(PYTHON) tools/win32/ostools.py remove py2exe.log
258
	$(PYTHON) tools/win32/ostools.py remove tools/win32/bzr.iss
259
	$(PYTHON) tools/win32/ostools.py remove bzr-setup*.exe
260
	$(PYTHON) tools/win32/ostools.py remove bzr-*win32.exe
261
	$(PYTHON) tools/win32/ostools.py remove dist
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
262
3346.2.5 by Martin Pool
Add check-dist-tarball to run tests from the packaged source
263
.PHONY: dist dist-upload-escudero check-dist-tarball
3346.2.3 by Martin Pool
Add dist-upload-escudero target
264
3778.3.3 by Martin Pool
Build zip file from 'make dist' and document this; also tweak standard announcement mail
265
# build a distribution tarball and zip file.
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
266
#
267
# this method of copying the pyrex generated files is a bit ugly; it would be
268
# nicer to generate it from distutils.
269
dist: 
270
	version=`./bzr version --short` && \
271
	echo Building distribution of bzr $$version && \
3421.2.1 by John Arbash Meinel
Update make targets for distribution.
272
	expbasedir=`mktemp -t -d tmp_bzr_dist.XXXXXXXXXX` && \
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
273
	expdir=$$expbasedir/bzr-$$version && \
274
	tarball=$$PWD/../bzr-$$version.tar.gz && \
3778.3.3 by Martin Pool
Build zip file from 'make dist' and document this; also tweak standard announcement mail
275
	zipball=$$PWD/../bzr-$$version.zip && \
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
276
	$(MAKE) clean && \
277
	$(MAKE) && \
278
	bzr export $$expdir && \
279
	cp bzrlib/*.c $$expdir/bzrlib/. && \
280
	tar cfz $$tarball -C $$expbasedir bzr-$$version && \
3778.3.3 by Martin Pool
Build zip file from 'make dist' and document this; also tweak standard announcement mail
281
	(cd $$expbasedir && zip -r $$zipball bzr-$$version) && \
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
282
	gpg --detach-sign $$tarball && \
3778.3.3 by Martin Pool
Build zip file from 'make dist' and document this; also tweak standard announcement mail
283
	gpg --detach-sign $$zipball && \
3421.2.1 by John Arbash Meinel
Update make targets for distribution.
284
	rm -rf $$expbasedir
3346.2.3 by Martin Pool
Add dist-upload-escudero target
285
3346.2.5 by Martin Pool
Add check-dist-tarball to run tests from the packaged source
286
# run all tests in a previously built tarball
287
check-dist-tarball:
3421.2.1 by John Arbash Meinel
Update make targets for distribution.
288
	tmpdir=`mktemp -t -d tmp_bzr_check_dist.XXXXXXXXXX` && \
3346.2.5 by Martin Pool
Add check-dist-tarball to run tests from the packaged source
289
	version=`./bzr version --short` && \
290
	tarball=$$PWD/../bzr-$$version.tar.gz && \
291
	tar Cxz $$tmpdir -f $$tarball && \
3421.2.1 by John Arbash Meinel
Update make targets for distribution.
292
	$(MAKE) -C $$tmpdir/bzr-$$version check && \
293
	rm -rf $$tmpdir
3346.2.5 by Martin Pool
Add check-dist-tarball to run tests from the packaged source
294
295
3346.2.3 by Martin Pool
Add dist-upload-escudero target
296
# upload previously built tarball to the download directory on bazaar-vcs.org,
297
# and verify that it can be downloaded ok.
298
dist-upload-escudero:
299
	version=`./bzr version --short` && \
300
	tarball=../bzr-$$version.tar.gz && \
3778.3.3 by Martin Pool
Build zip file from 'make dist' and document this; also tweak standard announcement mail
301
	zipball=../bzr-$$version.zip && \
302
	scp $$zipball $$zipball.sig $$tarball $$tarball.sig \
3346.2.3 by Martin Pool
Add dist-upload-escudero target
303
	    escudero.ubuntu.com:/srv/bazaar.canonical.com/www/releases/src \
304
		&& \
305
	echo verifying over http... && \
3778.3.3 by Martin Pool
Build zip file from 'make dist' and document this; also tweak standard announcement mail
306
	curl http://bazaar-vcs.org/releases/src/bzr-$$version.zip \
307
		| diff -s - $$zipball && \
308
	curl http://bazaar-vcs.org/releases/src/bzr-$$version.zip.sig \
309
		| diff -s - $$zipball.sig 
3346.2.3 by Martin Pool
Add dist-upload-escudero target
310
	curl http://bazaar-vcs.org/releases/src/bzr-$$version.tar.gz \
311
		| diff -s - $$tarball && \
312
	curl http://bazaar-vcs.org/releases/src/bzr-$$version.tar.gz.sig \
313
		| diff -s - $$tarball.sig