/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
4436.2.1 by Martin Pool
Make check no longer repeats tests with LANG=C
1
# Copyright (C) 2005, 2006, 2007, 2008, 2009 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)
1102 by Martin Pool
- merge test refactoring from robertc
38
1773.4.1 by Martin Pool
Add pyflakes makefile target; fix many warnings
39
# Run Python style checker (apt-get install pyflakes)
2625.11.1 by Martin Pool
(trivial) Remove obsolete Makefile targets
40
#
41
# Note that at present this gives many false warnings, because it doesn't
42
# know about identifiers loaded through lazy_import.
1773.4.1 by Martin Pool
Add pyflakes makefile target; fix many warnings
43
pyflakes:
44
	pyflakes bzrlib
45
46
pyflakes-nounused:
47
	# There are many of these warnings at the moment and they're not a
48
	# high priority to fix
49
	pyflakes bzrlib | grep -v ' imported but unused'
50
51
clean:
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
52
	$(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'.
53
	-find . -name "*.pyc" -o -name "*.pyo" -o -name "*.so" | xargs rm -f
1185.1.21 by Robert Collins
add a clean target
54
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
55
# 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.
56
docfiles = bzr bzrlib
2399.1.1 by John Arbash Meinel
Update Makefile to add 'make api-docs' using pydoctor
57
api-docs:
2413.4.1 by John Arbash Meinel
Cherrypick just the epydoc builder changes.
58
	mkdir -p api/html
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
59
	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
60
check-api-docs:
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
61
	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
62
2625.11.2 by Martin Pool
Put back better rules for building ctags
63
# build tags for emacs and vim
64
TAGS:
65
	ctags -R -e bzrlib
66
67
tags:
68
	ctags -R bzrlib
69
70
# these are treated as phony so they'll always be rebuilt - it's pretty quick
71
.PHONY: TAGS tags
72
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
73
### Documentation ###
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
74
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
75
# set PRETTY to get docs that look like the Bazaar web site
76
ifdef PRETTY
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
77
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
78
else
3113.3.1 by Alexander Belchenko
Halt conversion of ReST to HTML if there is warnings.
79
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
80
endif
81
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
82
# translate txt docs to html
2691.1.4 by Ian Clatworthy
teach Makefile and .bzrignore re new doc structure
83
derived_txt_files := \
84
	doc/en/user-reference/bzr_man.txt \
85
	doc/en/release-notes/NEWS.txt
3431.1.2 by Martin Pool
Build Spanish docs from the main Makefile
86
txt_files := $(wildcard doc/en/tutorials/*.txt) \
87
	$(derived_txt_files) \
2977.1.14 by Ian Clatworthy
change Makefile to support tutorials
88
	doc/en/user-guide/index.txt \
2691.1.16 by Ian Clatworthy
Ensure doc hierarchy is setup correctly for the Windows installer
89
	doc/en/mini-tutorial/index.txt \
4325.5.3 by Martin Pool
Fix makefile to rebuild HACKING.html
90
	doc/en/developer-guide/HACKING.txt \
3431.1.2 by Martin Pool
Build Spanish docs from the main Makefile
91
	$(wildcard doc/es/guia-usario/*.txt) \
92
	doc/es/mini-tutorial/index.txt \
93
	doc/index.txt \
3638.6.6 by Alexander Belchenko
make docs now build russian documentation too.
94
	doc/index.es.txt \
95
	doc/index.ru.txt \
3638.6.28 by Dmitry Vasiliev
Initial version of Russian user guide
96
	doc/ru/user-guide/index.txt \
3638.6.14 by Alexander Belchenko
using_bazaar_with_launchpad.txt: fixed formatting errors.
97
	doc/ru/mini-tutorial/index.txt \
98
	$(wildcard doc/ru/tutorials/*.txt)
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
99
non_txt_files := \
100
       doc/default.css \
3065.3.1 by Alexander Belchenko
include doc/en/user-guide/images/*.png to WEB_DOCS
101
       doc/en/quick-reference/quick-start-summary.svg \
3065.3.3 by Alexander Belchenko
merge bzr.dev
102
       doc/en/quick-reference/quick-start-summary.png \
3092.3.1 by Ian Clatworthy
fix Makefile rules for doc generation
103
       doc/en/quick-reference/quick-start-summary.pdf \
3431.1.2 by Martin Pool
Build Spanish docs from the main Makefile
104
       $(wildcard doc/en/user-guide/images/*.png) \
105
       doc/es/referencia-rapida/referencia-rapida.svg \
106
       doc/es/referencia-rapida/referencia-rapida.png \
107
       doc/es/referencia-rapida/referencia-rapida.pdf \
3638.6.27 by Dmitry Vasiliev
Russian quick-reference added to Makefile
108
       $(wildcard doc/es/guia-usuario/images/*.png) \
109
       doc/ru/quick-reference/quick-start-summary.svg \
110
       doc/ru/quick-reference/quick-start-summary.png \
3638.6.28 by Dmitry Vasiliev
Initial version of Russian user guide
111
       doc/ru/quick-reference/quick-start-summary.pdf \
112
       $(wildcard doc/ru/user-guide/images/*.png)
2666.2.1 by Alexander Belchenko
change generated documentation extension from htm to html
113
htm_files := $(patsubst %.txt, %.html, $(txt_files)) 
4202.5.1 by Eric Siegerman
Don't generate HTML files for .txt's that are transcluded.
114
115
# doc/developers/*.txt files that should *not* be individually
116
# converted to HTML
117
dev_txt_nohtml := \
118
	doc/developers/add.txt \
119
	doc/developers/annotate.txt \
120
	doc/developers/bundle-creation.txt \
121
	doc/developers/commit.txt \
122
	doc/developers/diff.txt \
123
	doc/developers/directory-fingerprints.txt \
124
	doc/developers/gc.txt \
125
	doc/developers/incremental-push-pull.txt \
126
	doc/developers/initial-push-pull.txt \
127
	doc/developers/merge-scaling.txt \
128
	doc/developers/missing.txt \
129
	doc/developers/performance-roadmap-rationale.txt \
130
	doc/developers/performance-use-case-analysis.txt \
131
	doc/developers/planned-change-integration.txt \
132
	doc/developers/planned-performance-changes.txt \
133
	doc/developers/revert.txt \
134
	doc/developers/status.txt \
135
	doc/developers/uncommit.txt
136
137
dev_txt_all := $(wildcard $(addsuffix /*.txt, doc/developers))
138
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
139
dev_htm_files := $(patsubst %.txt, %.html, $(dev_txt_files)) 
2054.2.14 by Aaron Bentley
Add 'pretty-docs' target to makefile
140
3638.6.28 by Dmitry Vasiliev
Initial version of Russian user guide
141
doc/%/user-guide/index.html: $(wildcard $(addsuffix /*.txt, doc/%/user-guide)) 
142
	$(rst2html) --stylesheet=../../default.css $(dir $@)index.txt $@
3092.3.1 by Ian Clatworthy
fix Makefile rules for doc generation
143
4000.4.1 by Colin D Bennett
Generate PDF version of the User Guide.
144
# Set the paper size for PDF files.
145
# Options:  'a4' (ISO A4 size), 'letter' (US Letter size)
146
PAPERSIZE = a4
3638.6.28 by Dmitry Vasiliev
Initial version of Russian user guide
147
# TODO: Add generation for Russian PDF
4000.4.2 by Colin D Bennett
Made PDF documents a separate target for people who don't have LaTeX installed.
148
PDF_DOCS := doc/en/user-guide/user-guide.$(PAPERSIZE).pdf
4000.4.1 by Colin D Bennett
Generate PDF version of the User Guide.
149
150
# Copy and modify the RST sources, and convert SVG images to PDF
151
# files for use a images in the LaTeX-generated PDF.
152
# Then generate the PDF output from the modified RST sources.
4000.4.5 by Colin D Bennett
Strip trailing whitespace.
153
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.
154
	mkdir -p doc/en/user-guide/latex_prepared
155
	$(PYTHON) tools/prepare_for_latex.py \
156
	    --out-dir=doc/en/user-guide/latex_prepared \
157
	    --in-dir=doc/en/user-guide
158
	cd doc/en/user-guide/latex_prepared && \
159
	    $(PYTHON) ../../../../tools/rst2pdf.py \
160
	        --documentoptions=10pt,$(PAPERSIZE)paper \
161
	        --input-encoding=UTF-8:strict --output-encoding=UTF-8:strict \
162
	        --strict --title="Bazaar User Guide" \
163
	        index.txt ../user-guide.$(PAPERSIZE).pdf
164
2666.2.1 by Alexander Belchenko
change generated documentation extension from htm to html
165
doc/developers/%.html: doc/developers/%.txt
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
166
	$(rst2html) --stylesheet=../default.css $< $@
2666.2.1 by Alexander Belchenko
change generated documentation extension from htm to html
167
3638.6.29 by Dmitry Vasiliev
Added Russian translation for part 1.1 of user guide
168
doc/index.html: doc/index.txt
169
	$(rst2html) --stylesheet=default.css $< $@
170
3638.6.30 by Dmitry Vasiliev
More robust handling of index files in other languages
171
doc/index.%.html: doc/index.%.txt
3638.6.6 by Alexander Belchenko
make docs now build russian documentation too.
172
	$(rst2html) --stylesheet=default.css $< $@
173
2666.2.1 by Alexander Belchenko
change generated documentation extension from htm to html
174
%.html: %.txt
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
175
	$(rst2html) --stylesheet=../../default.css $< $@
2054.2.14 by Aaron Bentley
Add 'pretty-docs' target to makefile
176
2425.1.1 by Robert Collins
``make docs`` now creates a man page at ``man1/bzr.1`` fixing bug 107388.
177
MAN_DEPENDENCIES = bzrlib/builtins.py \
1928.2.1 by Alexander Belchenko
New target to produce html docs to upload on server
178
		 bzrlib/bundle/commands.py \
179
		 bzrlib/conflicts.py \
3089.3.14 by Ian Clatworthy
follow-up tweaks to bzr.dev integration
180
		 bzrlib/help_topics/__init__.py \
3892.1.1 by Ian Clatworthy
improve help on storage formats
181
		 bzrlib/bzrdir.py \
1928.2.1 by Alexander Belchenko
New target to produce html docs to upload on server
182
		 bzrlib/sign_my_commits.py \
3053.8.1 by Ian Clatworthy
Improve bug tracker integration documentation (Ian Clatworthy)
183
		 bzrlib/bugtracker.py \
1928.2.1 by Alexander Belchenko
New target to produce html docs to upload on server
184
		 generate_docs.py \
185
		 tools/doc_generate/__init__.py \
2677.1.1 by Alexander Belchenko
rst2html: workaround for IE bug with id="tags"
186
		 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
187
		 tools/doc_generate/autodoc_rstx.py \
3089.3.6 by Ian Clatworthy
make help topics more discoverable
188
		 $(wildcard $(addsuffix /*.txt, bzrlib/help_topics/en)) 
2977.1.14 by Ian Clatworthy
change Makefile to support tutorials
189
2691.1.4 by Ian Clatworthy
teach Makefile and .bzrignore re new doc structure
190
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
191
	$(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.
192
2691.1.4 by Ian Clatworthy
teach Makefile and .bzrignore re new doc structure
193
doc/en/release-notes/NEWS.txt: NEWS
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
194
	$(PYTHON) -c "import shutil; shutil.copyfile('$<', '$@')"
2691.1.4 by Ian Clatworthy
teach Makefile and .bzrignore re new doc structure
195
2425.1.1 by Robert Collins
``make docs`` now creates a man page at ``man1/bzr.1`` fixing bug 107388.
196
MAN_PAGES = man1/bzr.1
197
man1/bzr.1: $(MAN_DEPENDENCIES)
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
198
	$(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.
199
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
200
# build a png of our performance task list
4424.1.1 by Martin Pool
Trim some outdated performance drive documentation, and the performance.png graph
201
# 
202
# this is no longer built by default; you can build it if you want to look at it
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
203
doc/developers/performance.png: doc/developers/performance.dot
204
	@echo Generating $@
205
	@dot -Tpng $< -o$@ || echo "Dot not installed; skipping generation of $@"
206
4424.1.1 by Martin Pool
Trim some outdated performance drive documentation, and the performance.png graph
207
derived_web_docs = $(htm_files) $(dev_htm_files) 
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
208
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.
209
ALL_DOCS = $(derived_web_docs) $(MAN_PAGES)
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
210
211
# the main target to build all the docs
212
docs: $(ALL_DOCS)
213
214
# 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
215
HTMLDIR := html_docs
216
html-docs: docs
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
217
	$(PYTHON) tools/win32/ostools.py copytree $(WEB_DOCS) $(HTMLDIR)
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
218
4000.4.4 by Colin D Bennett
Put PDF cleanup in clean-docs target; added note on Inkscape requirement.
219
# 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.
220
pdf-docs: $(PDF_DOCS)
221
1928.2.1 by Alexander Belchenko
New target to produce html docs to upload on server
222
# clean produced docs
223
clean-docs:
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
224
	$(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.
225
	    $(HTMLDIR) $(derived_txt_files)
3638.6.28 by Dmitry Vasiliev
Initial version of Russian user guide
226
	rm -f doc/*/user-guide/*.pdf
227
	rm -rf doc/*/user-guide/latex_prepared
2522.3.1 by Robert Collins
Draft proposed integration order for performance changes.
228
229
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
230
### Windows Support ###
1928.2.1 by Alexander Belchenko
New target to produce html docs to upload on server
231
232
# make bzr.exe for win32 with py2exe
233
exe:
234
	@echo *** Make bzr.exe
4385.2.1 by Alexander Belchenko
Workaround for running `make exe` second time: remove all compiled extensions because they will be recompiled anyway.
235
	$(PYTHON) tools/win32/ostools.py remove bzrlib/*.pyd
3514.1.1 by John Arbash Meinel
Updates to allow building with mingw, and to exclude Vista system dlls
236
	$(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
237
	$(PYTHON) setup.py py2exe > py2exe.log
238
	$(PYTHON) tools/win32/ostools.py copytodir tools/win32/start_bzr.bat win32_bzr.exe
239
	$(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
240
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
241
# win32 installer for bzr.exe
1982.2.1 by Alexander Belchenko
small but important fix for 'make installer' dependencies
242
installer: exe copy-docs
1861.2.18 by Alexander Belchenko
Makefile: cross-platform actions for building installer
243
	@echo *** Make windows installer
3557.1.3 by John Arbash Meinel
trivial tweak of Makefile to use the PYTHON variable
244
	$(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
245
	iscc /Q tools/win32/bzr.iss
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
246
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
247
# win32 Python's distutils-based installer
248
# require to have Python interpreter installed on win32
2946.2.1 by Alexander Belchenko
windows python-based installer: shortcut for uninstall action
249
py-inst-24: docs
2571.3.1 by Alexander Belchenko
Building Python-based installer for bot Python 2.4 and 2.5
250
	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
251
252
py-inst-25: docs
2571.3.1 by Alexander Belchenko
Building Python-based installer for bot Python 2.4 and 2.5
253
	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
254
2946.2.1 by Alexander Belchenko
windows python-based installer: shortcut for uninstall action
255
python-installer: py-inst-24 py-inst-25
256
257
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
258
copy-docs: docs
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
259
	$(PYTHON) tools/win32/ostools.py copytodir README win32_bzr.exe/doc
260
	$(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
261
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
262
# clean on win32 all installer-related files and directories
2666.2.1 by Alexander Belchenko
change generated documentation extension from htm to html
263
clean-win32: clean-docs
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
264
	$(PYTHON) tools/win32/ostools.py remove build
265
	$(PYTHON) tools/win32/ostools.py remove win32_bzr.exe
266
	$(PYTHON) tools/win32/ostools.py remove py2exe.log
267
	$(PYTHON) tools/win32/ostools.py remove tools/win32/bzr.iss
268
	$(PYTHON) tools/win32/ostools.py remove bzr-setup*.exe
269
	$(PYTHON) tools/win32/ostools.py remove bzr-*win32.exe
270
	$(PYTHON) tools/win32/ostools.py remove dist
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
271
3346.2.5 by Martin Pool
Add check-dist-tarball to run tests from the packaged source
272
.PHONY: dist dist-upload-escudero check-dist-tarball
3346.2.3 by Martin Pool
Add dist-upload-escudero target
273
3778.3.3 by Martin Pool
Build zip file from 'make dist' and document this; also tweak standard announcement mail
274
# build a distribution tarball and zip file.
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
275
#
276
# this method of copying the pyrex generated files is a bit ugly; it would be
277
# nicer to generate it from distutils.
278
dist: 
279
	version=`./bzr version --short` && \
280
	echo Building distribution of bzr $$version && \
3421.2.1 by John Arbash Meinel
Update make targets for distribution.
281
	expbasedir=`mktemp -t -d tmp_bzr_dist.XXXXXXXXXX` && \
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
282
	expdir=$$expbasedir/bzr-$$version && \
283
	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
284
	zipball=$$PWD/../bzr-$$version.zip && \
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
285
	$(MAKE) clean && \
286
	$(MAKE) && \
287
	bzr export $$expdir && \
288
	cp bzrlib/*.c $$expdir/bzrlib/. && \
289
	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
290
	(cd $$expbasedir && zip -r $$zipball bzr-$$version) && \
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
291
	gpg --detach-sign $$tarball && \
3778.3.3 by Martin Pool
Build zip file from 'make dist' and document this; also tweak standard announcement mail
292
	gpg --detach-sign $$zipball && \
3421.2.1 by John Arbash Meinel
Update make targets for distribution.
293
	rm -rf $$expbasedir
3346.2.3 by Martin Pool
Add dist-upload-escudero target
294
3346.2.5 by Martin Pool
Add check-dist-tarball to run tests from the packaged source
295
# run all tests in a previously built tarball
296
check-dist-tarball:
3421.2.1 by John Arbash Meinel
Update make targets for distribution.
297
	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
298
	version=`./bzr version --short` && \
299
	tarball=$$PWD/../bzr-$$version.tar.gz && \
300
	tar Cxz $$tmpdir -f $$tarball && \
3421.2.1 by John Arbash Meinel
Update make targets for distribution.
301
	$(MAKE) -C $$tmpdir/bzr-$$version check && \
302
	rm -rf $$tmpdir
3346.2.5 by Martin Pool
Add check-dist-tarball to run tests from the packaged source
303
304
3346.2.3 by Martin Pool
Add dist-upload-escudero target
305
# upload previously built tarball to the download directory on bazaar-vcs.org,
306
# and verify that it can be downloaded ok.
307
dist-upload-escudero:
308
	version=`./bzr version --short` && \
309
	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
310
	zipball=../bzr-$$version.zip && \
311
	scp $$zipball $$zipball.sig $$tarball $$tarball.sig \
3346.2.3 by Martin Pool
Add dist-upload-escudero target
312
	    escudero.ubuntu.com:/srv/bazaar.canonical.com/www/releases/src \
313
		&& \
314
	echo verifying over http... && \
3778.3.3 by Martin Pool
Build zip file from 'make dist' and document this; also tweak standard announcement mail
315
	curl http://bazaar-vcs.org/releases/src/bzr-$$version.zip \
316
		| diff -s - $$zipball && \
317
	curl http://bazaar-vcs.org/releases/src/bzr-$$version.zip.sig \
318
		| diff -s - $$zipball.sig 
3346.2.3 by Martin Pool
Add dist-upload-escudero target
319
	curl http://bazaar-vcs.org/releases/src/bzr-$$version.tar.gz \
320
		| diff -s - $$tarball && \
321
	curl http://bazaar-vcs.org/releases/src/bzr-$$version.tar.gz.sig \
322
		| diff -s - $$tarball.sig