~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
4392.3.18 by Sidnei da Silva
- Make python-installer too
24
PYTHON24=python24
25
PYTHON25=python25
4392.3.23 by Sidnei da Silva
- Define targets as 'release' and 'dev', allow passing them through make
26
BZR_TARGET=release
27
PLUGIN_TARGET=plugin-release
3514.1.1 by John Arbash Meinel
Updates to allow building with mingw, and to exclude Vista system dlls
28
PYTHON_BUILDFLAGS=
2916.1.1 by Andrew Bennetts
Allow overriding the PYTHON executable for 'make extensions', and remove *.so files in 'make clean'.
29
3893.1.1 by Aaron Bentley
Add check-nodocs target
30
.PHONY: all clean extensions pyflakes api-docs check-nodocs check
1739.1.6 by Robert Collins
Resolve conflicts with bzr.dev.
31
1739.1.5 by Robert Collins
Review feedback.
32
all: extensions
33
34
extensions:
1739.1.3 by Robert Collins
Merge bzr.dev.
35
	@echo "building extension modules."
3514.1.1 by John Arbash Meinel
Updates to allow building with mingw, and to exclude Vista system dlls
36
	$(PYTHON) setup.py build_ext -i $(PYTHON_BUILDFLAGS)
1102 by Martin Pool
- merge test refactoring from robertc
37
3893.1.1 by Aaron Bentley
Add check-nodocs target
38
check: docs check-nodocs
39
40
check-nodocs: extensions
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
41
	$(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.
42
	@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
43
	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
44
1773.4.1 by Martin Pool
Add pyflakes makefile target; fix many warnings
45
# Run Python style checker (apt-get install pyflakes)
2625.11.1 by Martin Pool
(trivial) Remove obsolete Makefile targets
46
#
47
# Note that at present this gives many false warnings, because it doesn't
48
# know about identifiers loaded through lazy_import.
1773.4.1 by Martin Pool
Add pyflakes makefile target; fix many warnings
49
pyflakes:
50
	pyflakes bzrlib
51
52
pyflakes-nounused:
53
	# There are many of these warnings at the moment and they're not a
54
	# high priority to fix
55
	pyflakes bzrlib | grep -v ' imported but unused'
56
57
clean:
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
58
	$(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'.
59
	-find . -name "*.pyc" -o -name "*.pyo" -o -name "*.so" | xargs rm -f
1185.1.21 by Robert Collins
add a clean target
60
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
61
# 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.
62
docfiles = bzr bzrlib
2399.1.1 by John Arbash Meinel
Update Makefile to add 'make api-docs' using pydoctor
63
api-docs:
2413.4.1 by John Arbash Meinel
Cherrypick just the epydoc builder changes.
64
	mkdir -p api/html
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
65
	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
66
check-api-docs:
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
67
	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
68
2625.11.2 by Martin Pool
Put back better rules for building ctags
69
# build tags for emacs and vim
70
TAGS:
71
	ctags -R -e bzrlib
72
73
tags:
74
	ctags -R bzrlib
75
76
# these are treated as phony so they'll always be rebuilt - it's pretty quick
77
.PHONY: TAGS tags
78
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
79
### Documentation ###
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
80
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
81
# set PRETTY to get docs that look like the Bazaar web site
82
ifdef PRETTY
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
83
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
84
else
3113.3.1 by Alexander Belchenko
Halt conversion of ReST to HTML if there is warnings.
85
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
86
endif
87
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
88
# translate txt docs to html
2691.1.4 by Ian Clatworthy
teach Makefile and .bzrignore re new doc structure
89
derived_txt_files := \
90
	doc/en/user-reference/bzr_man.txt \
91
	doc/en/release-notes/NEWS.txt
4488.2.1 by Dmitry Vasiliev
Optimize configuration for build documentation
92
txt_files := $(wildcard doc/*/tutorials/*.txt) \
93
	$(wildcard doc/*/mini-tutorial/index.txt) \
94
	$(wildcard doc/*/user-guide/index.txt) \
3431.1.2 by Martin Pool
Build Spanish docs from the main Makefile
95
	$(derived_txt_files) \
4325.5.3 by Martin Pool
Fix makefile to rebuild HACKING.html
96
	doc/en/developer-guide/HACKING.txt \
4501.3.1 by Ian Clatworthy
first draft of a 2.0 Upgrade Guide
97
	doc/en/upgrade-guide/index.txt \
3431.1.2 by Martin Pool
Build Spanish docs from the main Makefile
98
	$(wildcard doc/es/guia-usario/*.txt) \
99
	doc/es/mini-tutorial/index.txt \
100
	doc/index.txt \
4488.2.1 by Dmitry Vasiliev
Optimize configuration for build documentation
101
	$(wildcard doc/index.*.txt)
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
102
non_txt_files := \
103
       doc/default.css \
4488.2.1 by Dmitry Vasiliev
Optimize configuration for build documentation
104
       $(wildcard doc/*/quick-reference/quick-start-summary.svg) \
105
       $(wildcard doc/*/quick-reference/quick-start-summary.png) \
106
       $(wildcard doc/*/quick-reference/quick-start-summary.pdf) \
107
       $(wildcard doc/*/user-guide/images/*.png)
2666.2.1 by Alexander Belchenko
change generated documentation extension from htm to html
108
htm_files := $(patsubst %.txt, %.html, $(txt_files)) 
4202.5.1 by Eric Siegerman
Don't generate HTML files for .txt's that are transcluded.
109
110
# doc/developers/*.txt files that should *not* be individually
111
# converted to HTML
112
dev_txt_nohtml := \
113
	doc/developers/add.txt \
114
	doc/developers/annotate.txt \
115
	doc/developers/bundle-creation.txt \
116
	doc/developers/commit.txt \
117
	doc/developers/diff.txt \
118
	doc/developers/directory-fingerprints.txt \
119
	doc/developers/gc.txt \
120
	doc/developers/incremental-push-pull.txt \
121
	doc/developers/initial-push-pull.txt \
122
	doc/developers/merge-scaling.txt \
123
	doc/developers/missing.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
3638.6.28 by Dmitry Vasiliev
Initial version of Russian user guide
136
doc/%/user-guide/index.html: $(wildcard $(addsuffix /*.txt, doc/%/user-guide)) 
137
	$(rst2html) --stylesheet=../../default.css $(dir $@)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
3638.6.28 by Dmitry Vasiliev
Initial version of Russian user guide
142
# 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.
143
PDF_DOCS := doc/en/user-guide/user-guide.$(PAPERSIZE).pdf
4000.4.1 by Colin D Bennett
Generate PDF version of the User Guide.
144
145
# Copy and modify the RST sources, and convert SVG images to PDF
146
# files for use a images in the LaTeX-generated PDF.
147
# Then generate the PDF output from the modified RST sources.
4000.4.5 by Colin D Bennett
Strip trailing whitespace.
148
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.
149
	mkdir -p doc/en/user-guide/latex_prepared
150
	$(PYTHON) tools/prepare_for_latex.py \
151
	    --out-dir=doc/en/user-guide/latex_prepared \
152
	    --in-dir=doc/en/user-guide
153
	cd doc/en/user-guide/latex_prepared && \
154
	    $(PYTHON) ../../../../tools/rst2pdf.py \
155
	        --documentoptions=10pt,$(PAPERSIZE)paper \
156
	        --input-encoding=UTF-8:strict --output-encoding=UTF-8:strict \
157
	        --strict --title="Bazaar User Guide" \
158
	        index.txt ../user-guide.$(PAPERSIZE).pdf
159
2666.2.1 by Alexander Belchenko
change generated documentation extension from htm to html
160
doc/developers/%.html: doc/developers/%.txt
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
161
	$(rst2html) --stylesheet=../default.css $< $@
2666.2.1 by Alexander Belchenko
change generated documentation extension from htm to html
162
3638.6.29 by Dmitry Vasiliev
Added Russian translation for part 1.1 of user guide
163
doc/index.html: doc/index.txt
164
	$(rst2html) --stylesheet=default.css $< $@
165
3638.6.30 by Dmitry Vasiliev
More robust handling of index files in other languages
166
doc/index.%.html: doc/index.%.txt
3638.6.6 by Alexander Belchenko
make docs now build russian documentation too.
167
	$(rst2html) --stylesheet=default.css $< $@
168
2666.2.1 by Alexander Belchenko
change generated documentation extension from htm to html
169
%.html: %.txt
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
170
	$(rst2html) --stylesheet=../../default.css $< $@
2054.2.14 by Aaron Bentley
Add 'pretty-docs' target to makefile
171
2425.1.1 by Robert Collins
``make docs`` now creates a man page at ``man1/bzr.1`` fixing bug 107388.
172
MAN_DEPENDENCIES = bzrlib/builtins.py \
4070.11.11 by Martin Pool
Makefile: Any code change in bzrlib should rebuild the manpage
173
	$(wildcard bzrlib/*.py) \
174
	$(wildcard bzrlib/*/*.py) \
175
	tools/generate_docs.py \
176
	$(wildcard $(addsuffix /*.txt, bzrlib/help_topics/en)) 
2977.1.14 by Ian Clatworthy
change Makefile to support tutorials
177
2691.1.4 by Ian Clatworthy
teach Makefile and .bzrignore re new doc structure
178
doc/en/user-reference/bzr_man.txt: $(MAN_DEPENDENCIES)
4526.11.2 by John Arbash Meinel
instead of updating PYTHONPATH in Makefile, update generate_docs to find bzrlib.
179
	$(PYTHON) tools/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.
180
2691.1.4 by Ian Clatworthy
teach Makefile and .bzrignore re new doc structure
181
doc/en/release-notes/NEWS.txt: NEWS
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
182
	$(PYTHON) -c "import shutil; shutil.copyfile('$<', '$@')"
2691.1.4 by Ian Clatworthy
teach Makefile and .bzrignore re new doc structure
183
2425.1.1 by Robert Collins
``make docs`` now creates a man page at ``man1/bzr.1`` fixing bug 107388.
184
MAN_PAGES = man1/bzr.1
185
man1/bzr.1: $(MAN_DEPENDENCIES)
4526.11.2 by John Arbash Meinel
instead of updating PYTHONPATH in Makefile, update generate_docs to find bzrlib.
186
	$(PYTHON) tools/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.
187
4501.3.4 by Ian Clatworthy
fix Makefile rules
188
upgrade_guide_dependencies =  $(wildcard $(addsuffix /*.txt, doc/en/upgrade-guide)) 
189
190
doc/en/upgrade-guide/index.html: $(upgrade_guide_dependencies)
191
	$(rst2html) --stylesheet=../../default.css $(dir $@)index.txt $@
192
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
193
# 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
194
# 
195
# 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
196
doc/developers/performance.png: doc/developers/performance.dot
197
	@echo Generating $@
198
	@dot -Tpng $< -o$@ || echo "Dot not installed; skipping generation of $@"
199
4424.1.1 by Martin Pool
Trim some outdated performance drive documentation, and the performance.png graph
200
derived_web_docs = $(htm_files) $(dev_htm_files) 
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
201
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.
202
ALL_DOCS = $(derived_web_docs) $(MAN_PAGES)
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
203
204
# the main target to build all the docs
205
docs: $(ALL_DOCS)
206
207
# 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
208
HTMLDIR := html_docs
209
html-docs: docs
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
210
	$(PYTHON) tools/win32/ostools.py copytree $(WEB_DOCS) $(HTMLDIR)
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
211
4000.4.4 by Colin D Bennett
Put PDF cleanup in clean-docs target; added note on Inkscape requirement.
212
# 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.
213
pdf-docs: $(PDF_DOCS)
214
1928.2.1 by Alexander Belchenko
New target to produce html docs to upload on server
215
# clean produced docs
216
clean-docs:
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
217
	$(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.
218
	    $(HTMLDIR) $(derived_txt_files)
3638.6.28 by Dmitry Vasiliev
Initial version of Russian user guide
219
	rm -f doc/*/user-guide/*.pdf
220
	rm -rf doc/*/user-guide/latex_prepared
2522.3.1 by Robert Collins
Draft proposed integration order for performance changes.
221
222
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
223
### Windows Support ###
1928.2.1 by Alexander Belchenko
New target to produce html docs to upload on server
224
4392.3.20 by Sidnei da Silva
- Add top-level make target to build all installers using buildout and another to cleanup
225
# make all the installers completely from scratch, using zc.buildout
226
# to fetch the dependencies
227
installer-all:
228
	@echo *** Make all the installers from scratch
229
	cd tools/win32 && $(PYTHON) bootstrap.py
230
	cd tools/win32 && bin/buildout
4392.3.23 by Sidnei da Silva
- Define targets as 'release' and 'dev', allow passing them through make
231
	cd tools/win32 && bin/build-installer.bat $(BZR_TARGET) $(PLUGIN_TARGET)
4392.3.20 by Sidnei da Silva
- Add top-level make target to build all installers using buildout and another to cleanup
232
233
234
clean-installer-all:
235
	$(PYTHON) tools/win32/ostools.py remove tools/win32/.installed.cfg
236
	$(PYTHON) tools/win32/ostools.py remove tools/win32/bin/
237
	$(PYTHON) tools/win32/ostools.py remove tools/win32/bzr/
238
	$(PYTHON) tools/win32/ostools.py remove tools/win32/bzr-rebase/
239
	$(PYTHON) tools/win32/ostools.py remove tools/win32/bzr-svn/
240
	$(PYTHON) tools/win32/ostools.py remove tools/win32/bzrtools/
241
	$(PYTHON) tools/win32/ostools.py remove tools/win32/db4/
242
	$(PYTHON) tools/win32/ostools.py remove tools/win32/develop-eggs/
243
	$(PYTHON) tools/win32/ostools.py remove tools/win32/libintl/
244
	$(PYTHON) tools/win32/ostools.py remove tools/win32/parts/
245
	$(PYTHON) tools/win32/ostools.py remove tools/win32/qbzr/
246
	$(PYTHON) tools/win32/ostools.py remove tools/win32/subvertpy/
247
	$(PYTHON) tools/win32/ostools.py remove tools/win32/svn/
248
	$(PYTHON) tools/win32/ostools.py remove tools/win32/tbzr/
249
	$(PYTHON) tools/win32/ostools.py remove tools/win32/tortoise-overlays/
250
	$(PYTHON) tools/win32/ostools.py remove tools/win32/zlib/
251
1928.2.1 by Alexander Belchenko
New target to produce html docs to upload on server
252
# make bzr.exe for win32 with py2exe
253
exe:
254
	@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.
255
	$(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
256
	$(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
257
	$(PYTHON) setup.py py2exe > py2exe.log
258
	$(PYTHON) tools/win32/ostools.py copytodir tools/win32/start_bzr.bat win32_bzr.exe
259
	$(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
260
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
261
# win32 installer for bzr.exe
1982.2.1 by Alexander Belchenko
small but important fix for 'make installer' dependencies
262
installer: exe copy-docs
4392.3.20 by Sidnei da Silva
- Add top-level make target to build all installers using buildout and another to cleanup
263
	@echo *** Make Windows installer
3557.1.3 by John Arbash Meinel
trivial tweak of Makefile to use the PYTHON variable
264
	$(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
265
	iscc /Q tools/win32/bzr.iss
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
266
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
267
# win32 Python's distutils-based installer
268
# require to have Python interpreter installed on win32
2946.2.1 by Alexander Belchenko
windows python-based installer: shortcut for uninstall action
269
py-inst-24: docs
4392.3.18 by Sidnei da Silva
- Make python-installer too
270
	$(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
271
272
py-inst-25: docs
4392.3.18 by Sidnei da Silva
- Make python-installer too
273
	$(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
274
4459.1.1 by John Arbash Meinel
Include python-2.6 as a build target for standalone builds.
275
py-inst-26: docs
276
	python26 setup.py bdist_wininst --install-script="bzr-win32-bdist-postinstall.py" -d .
277
278
python-installer: py-inst-24 py-inst-25 py-inst-26
2946.2.1 by Alexander Belchenko
windows python-based installer: shortcut for uninstall action
279
280
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
281
copy-docs: docs
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
282
	$(PYTHON) tools/win32/ostools.py copytodir README win32_bzr.exe/doc
283
	$(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
284
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
285
# clean on win32 all installer-related files and directories
2666.2.1 by Alexander Belchenko
change generated documentation extension from htm to html
286
clean-win32: clean-docs
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
287
	$(PYTHON) tools/win32/ostools.py remove build
288
	$(PYTHON) tools/win32/ostools.py remove win32_bzr.exe
289
	$(PYTHON) tools/win32/ostools.py remove py2exe.log
290
	$(PYTHON) tools/win32/ostools.py remove tools/win32/bzr.iss
291
	$(PYTHON) tools/win32/ostools.py remove bzr-setup*.exe
292
	$(PYTHON) tools/win32/ostools.py remove bzr-*win32.exe
293
	$(PYTHON) tools/win32/ostools.py remove dist
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
294
3346.2.5 by Martin Pool
Add check-dist-tarball to run tests from the packaged source
295
.PHONY: dist dist-upload-escudero check-dist-tarball
3346.2.3 by Martin Pool
Add dist-upload-escudero target
296
3778.3.3 by Martin Pool
Build zip file from 'make dist' and document this; also tweak standard announcement mail
297
# build a distribution tarball and zip file.
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
298
#
299
# this method of copying the pyrex generated files is a bit ugly; it would be
300
# nicer to generate it from distutils.
301
dist: 
302
	version=`./bzr version --short` && \
303
	echo Building distribution of bzr $$version && \
3421.2.1 by John Arbash Meinel
Update make targets for distribution.
304
	expbasedir=`mktemp -t -d tmp_bzr_dist.XXXXXXXXXX` && \
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
305
	expdir=$$expbasedir/bzr-$$version && \
306
	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
307
	zipball=$$PWD/../bzr-$$version.zip && \
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
308
	$(MAKE) clean && \
309
	$(MAKE) && \
310
	bzr export $$expdir && \
311
	cp bzrlib/*.c $$expdir/bzrlib/. && \
312
	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
313
	(cd $$expbasedir && zip -r $$zipball bzr-$$version) && \
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
314
	gpg --detach-sign $$tarball && \
3778.3.3 by Martin Pool
Build zip file from 'make dist' and document this; also tweak standard announcement mail
315
	gpg --detach-sign $$zipball && \
3421.2.1 by John Arbash Meinel
Update make targets for distribution.
316
	rm -rf $$expbasedir
3346.2.3 by Martin Pool
Add dist-upload-escudero target
317
3346.2.5 by Martin Pool
Add check-dist-tarball to run tests from the packaged source
318
# run all tests in a previously built tarball
319
check-dist-tarball:
3421.2.1 by John Arbash Meinel
Update make targets for distribution.
320
	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
321
	version=`./bzr version --short` && \
322
	tarball=$$PWD/../bzr-$$version.tar.gz && \
323
	tar Cxz $$tmpdir -f $$tarball && \
3421.2.1 by John Arbash Meinel
Update make targets for distribution.
324
	$(MAKE) -C $$tmpdir/bzr-$$version check && \
325
	rm -rf $$tmpdir
3346.2.5 by Martin Pool
Add check-dist-tarball to run tests from the packaged source
326
327
3346.2.3 by Martin Pool
Add dist-upload-escudero target
328
# upload previously built tarball to the download directory on bazaar-vcs.org,
329
# and verify that it can be downloaded ok.
330
dist-upload-escudero:
331
	version=`./bzr version --short` && \
332
	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
333
	zipball=../bzr-$$version.zip && \
334
	scp $$zipball $$zipball.sig $$tarball $$tarball.sig \
3346.2.3 by Martin Pool
Add dist-upload-escudero target
335
	    escudero.ubuntu.com:/srv/bazaar.canonical.com/www/releases/src \
336
		&& \
337
	echo verifying over http... && \
3778.3.3 by Martin Pool
Build zip file from 'make dist' and document this; also tweak standard announcement mail
338
	curl http://bazaar-vcs.org/releases/src/bzr-$$version.zip \
339
		| diff -s - $$zipball && \
340
	curl http://bazaar-vcs.org/releases/src/bzr-$$version.zip.sig \
341
		| diff -s - $$zipball.sig 
3346.2.3 by Martin Pool
Add dist-upload-escudero target
342
	curl http://bazaar-vcs.org/releases/src/bzr-$$version.tar.gz \
343
		| diff -s - $$tarball && \
344
	curl http://bazaar-vcs.org/releases/src/bzr-$$version.tar.gz.sig \
345
		| diff -s - $$tarball.sig