~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
4580.5.1 by John Arbash Meinel
Try to update the buildout rules for the newest versions of everything.
26
PYTHON26=python26
4392.3.23 by Sidnei da Silva
- Define targets as 'release' and 'dev', allow passing them through make
27
BZR_TARGET=release
28
PLUGIN_TARGET=plugin-release
3514.1.1 by John Arbash Meinel
Updates to allow building with mingw, and to exclude Vista system dlls
29
PYTHON_BUILDFLAGS=
2916.1.1 by Andrew Bennetts
Allow overriding the PYTHON executable for 'make extensions', and remove *.so files in 'make clean'.
30
3893.1.1 by Aaron Bentley
Add check-nodocs target
31
.PHONY: all clean extensions pyflakes api-docs check-nodocs check
1739.1.6 by Robert Collins
Resolve conflicts with bzr.dev.
32
1739.1.5 by Robert Collins
Review feedback.
33
all: extensions
34
35
extensions:
1739.1.3 by Robert Collins
Merge bzr.dev.
36
	@echo "building extension modules."
3514.1.1 by John Arbash Meinel
Updates to allow building with mingw, and to exclude Vista system dlls
37
	$(PYTHON) setup.py build_ext -i $(PYTHON_BUILDFLAGS)
1102 by Martin Pool
- merge test refactoring from robertc
38
3893.1.1 by Aaron Bentley
Add check-nodocs target
39
check: docs check-nodocs
40
41
check-nodocs: extensions
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
42
	$(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.
43
	@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
44
	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
45
1773.4.1 by Martin Pool
Add pyflakes makefile target; fix many warnings
46
# Run Python style checker (apt-get install pyflakes)
2625.11.1 by Martin Pool
(trivial) Remove obsolete Makefile targets
47
#
48
# Note that at present this gives many false warnings, because it doesn't
49
# know about identifiers loaded through lazy_import.
1773.4.1 by Martin Pool
Add pyflakes makefile target; fix many warnings
50
pyflakes:
51
	pyflakes bzrlib
52
53
pyflakes-nounused:
54
	# There are many of these warnings at the moment and they're not a
55
	# high priority to fix
56
	pyflakes bzrlib | grep -v ' imported but unused'
57
58
clean:
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
59
	$(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'.
60
	-find . -name "*.pyc" -o -name "*.pyo" -o -name "*.so" | xargs rm -f
1185.1.21 by Robert Collins
add a clean target
61
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
62
# 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.
63
docfiles = bzr bzrlib
2399.1.1 by John Arbash Meinel
Update Makefile to add 'make api-docs' using pydoctor
64
api-docs:
2413.4.1 by John Arbash Meinel
Cherrypick just the epydoc builder changes.
65
	mkdir -p api/html
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
66
	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
67
check-api-docs:
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
68
	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
69
2625.11.2 by Martin Pool
Put back better rules for building ctags
70
# build tags for emacs and vim
71
TAGS:
72
	ctags -R -e bzrlib
73
74
tags:
75
	ctags -R bzrlib
76
77
# these are treated as phony so they'll always be rebuilt - it's pretty quick
78
.PHONY: TAGS tags
79
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
80
### Documentation ###
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
81
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
82
# set PRETTY to get docs that look like the Bazaar web site
83
ifdef PRETTY
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
84
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
85
else
3113.3.1 by Alexander Belchenko
Halt conversion of ReST to HTML if there is warnings.
86
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
87
endif
88
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
89
# translate txt docs to html
2691.1.4 by Ian Clatworthy
teach Makefile and .bzrignore re new doc structure
90
derived_txt_files := \
91
	doc/en/user-reference/bzr_man.txt \
92
	doc/en/release-notes/NEWS.txt
4557.3.2 by Ian Clatworthy
get 'make docs' working again
93
txt_files := \
94
	doc/en/tutorials/tutorial.txt \
95
	doc/en/tutorials/using_bazaar_with_launchpad.txt \
96
	doc/en/tutorials/centralized_workflow.txt \
97
        $(wildcard doc/ru/tutorials/*.txt) \
4488.2.1 by Dmitry Vasiliev
Optimize configuration for build documentation
98
	$(wildcard doc/*/mini-tutorial/index.txt) \
99
	$(wildcard doc/*/user-guide/index.txt) \
3431.1.2 by Martin Pool
Build Spanish docs from the main Makefile
100
	$(derived_txt_files) \
4325.5.3 by Martin Pool
Fix makefile to rebuild HACKING.html
101
	doc/en/developer-guide/HACKING.txt \
4501.3.1 by Ian Clatworthy
first draft of a 2.0 Upgrade Guide
102
	doc/en/upgrade-guide/index.txt \
3431.1.2 by Martin Pool
Build Spanish docs from the main Makefile
103
	$(wildcard doc/es/guia-usario/*.txt) \
104
	doc/es/mini-tutorial/index.txt \
105
	doc/index.txt \
4488.2.1 by Dmitry Vasiliev
Optimize configuration for build documentation
106
	$(wildcard doc/index.*.txt)
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
107
non_txt_files := \
108
       doc/default.css \
4557.3.3 by Ian Clatworthy
Improve the names and location of the quick reference cards
109
       $(wildcard doc/*/quick-reference/bzr-quick-reference.svg) \
110
       $(wildcard doc/*/quick-reference/bzr-quick-reference.png) \
111
       $(wildcard doc/*/quick-reference/bzr-quick-reference.pdf) \
4488.2.1 by Dmitry Vasiliev
Optimize configuration for build documentation
112
       $(wildcard doc/*/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 \
4070.11.11 by Martin Pool
Makefile: Any code change in bzrlib should rebuild the manpage
178
	$(wildcard bzrlib/*.py) \
179
	$(wildcard bzrlib/*/*.py) \
180
	tools/generate_docs.py \
181
	$(wildcard $(addsuffix /*.txt, bzrlib/help_topics/en)) 
2977.1.14 by Ian Clatworthy
change Makefile to support tutorials
182
2691.1.4 by Ian Clatworthy
teach Makefile and .bzrignore re new doc structure
183
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.
184
	$(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.
185
4634.38.5 by Ian Clatworthy
Split Release Notes into topics so easier to navigate and print from chm & html
186
doc/en/release-notes/NEWS.txt: NEWS tools/generate_release_notes.py
187
	$(PYTHON) tools/generate_release_notes.py NEWS $@
2691.1.4 by Ian Clatworthy
teach Makefile and .bzrignore re new doc structure
188
2425.1.1 by Robert Collins
``make docs`` now creates a man page at ``man1/bzr.1`` fixing bug 107388.
189
MAN_PAGES = man1/bzr.1
190
man1/bzr.1: $(MAN_DEPENDENCIES)
4526.11.2 by John Arbash Meinel
instead of updating PYTHONPATH in Makefile, update generate_docs to find bzrlib.
191
	$(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.
192
4501.3.4 by Ian Clatworthy
fix Makefile rules
193
upgrade_guide_dependencies =  $(wildcard $(addsuffix /*.txt, doc/en/upgrade-guide)) 
194
195
doc/en/upgrade-guide/index.html: $(upgrade_guide_dependencies)
196
	$(rst2html) --stylesheet=../../default.css $(dir $@)index.txt $@
197
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
198
# 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
199
# 
200
# 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
201
doc/developers/performance.png: doc/developers/performance.dot
202
	@echo Generating $@
203
	@dot -Tpng $< -o$@ || echo "Dot not installed; skipping generation of $@"
204
4424.1.1 by Martin Pool
Trim some outdated performance drive documentation, and the performance.png graph
205
derived_web_docs = $(htm_files) $(dev_htm_files) 
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
206
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.
207
ALL_DOCS = $(derived_web_docs) $(MAN_PAGES)
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
208
4634.38.5 by Ian Clatworthy
Split Release Notes into topics so easier to navigate and print from chm & html
209
# the target to build all the old-style docs
210
old-docs: $(ALL_DOCS)
2691.1.17 by Ian Clatworthy
Fix pretty doc generation so works for all html docs
211
212
# 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
213
HTMLDIR := html_docs
214
html-docs: docs
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
215
	$(PYTHON) tools/win32/ostools.py copytree $(WEB_DOCS) $(HTMLDIR)
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
216
4000.4.4 by Colin D Bennett
Put PDF cleanup in clean-docs target; added note on Inkscape requirement.
217
# 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.
218
pdf-docs: $(PDF_DOCS)
219
1928.2.1 by Alexander Belchenko
New target to produce html docs to upload on server
220
# clean produced docs
221
clean-docs:
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
222
	$(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.
223
	    $(HTMLDIR) $(derived_txt_files)
3638.6.28 by Dmitry Vasiliev
Initial version of Russian user guide
224
	rm -f doc/*/user-guide/*.pdf
225
	rm -rf doc/*/user-guide/latex_prepared
4634.38.6 by Ian Clatworthy
tweak Makefile
226
	cd doc && make clean
2522.3.1 by Robert Collins
Draft proposed integration order for performance changes.
227
4634.38.5 by Ian Clatworthy
Split Release Notes into topics so easier to navigate and print from chm & html
228
# The main target to build all the new-style docs. Requires Sphinx.
229
docs: doc/en/release-notes/NEWS.txt doc/en/user-reference/bzr_man.txt
230
	cd doc && make html
4634.38.6 by Ian Clatworthy
tweak Makefile
231
	cd doc && make latex
232
	cd doc/_build/latex && make all-pdf
4634.39.11 by Ian Clatworthy
tweak Makefile and NEWS
233
	cd doc/developers && make html
4634.39.8 by Ian Clatworthy
tweak Makefile
234
	cd doc/es && make html
235
	cd doc/ru && make html
4634.38.5 by Ian Clatworthy
Split Release Notes into topics so easier to navigate and print from chm & html
236
2522.3.1 by Robert Collins
Draft proposed integration order for performance changes.
237
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
238
### Windows Support ###
1928.2.1 by Alexander Belchenko
New target to produce html docs to upload on server
239
4392.3.20 by Sidnei da Silva
- Add top-level make target to build all installers using buildout and another to cleanup
240
# make all the installers completely from scratch, using zc.buildout
241
# to fetch the dependencies
4580.5.3 by John Arbash Meinel
Change the Makefile to stage things into a build directory
242
# These are files that need to be copied into the build location to boostrap
243
# the build process.
244
# Note that the path is relative to tools/win32
245
BUILDOUT_FILES := buildout.cfg \
4580.5.5 by John Arbash Meinel
We need ostools.py as well
246
	buildout-templates/bin/build-installer.bat.in \
4580.5.14 by John Arbash Meinel
more updates to get things to build cleanly.
247
	ostools.py bootstrap.py
4580.5.3 by John Arbash Meinel
Change the Makefile to stage things into a build directory
248
4392.3.20 by Sidnei da Silva
- Add top-level make target to build all installers using buildout and another to cleanup
249
installer-all:
4580.5.4 by John Arbash Meinel
Something about *** makes it print out all the files in the current dir.
250
	@echo Make all the installers from scratch
251
	@# Build everything in a separate directory, to avoid cluttering the WT
4580.5.14 by John Arbash Meinel
more updates to get things to build cleanly.
252
	$(PYTHON) tools/win32/ostools.py makedir build-win32
253
	@# cd to tools/win32 so that the relative paths are copied correctly
4580.5.3 by John Arbash Meinel
Change the Makefile to stage things into a build directory
254
	cd tools/win32 && $(PYTHON) ostools.py copytree $(BUILDOUT_FILES) ../../build-win32
4580.5.14 by John Arbash Meinel
more updates to get things to build cleanly.
255
	@# There seems to be a bug in gf.release.bzr, It doesn't correctly update
256
	@# existing release directories, so delete them manually before building
257
	@# It means things may be rebuilt that don't need to be, but at least
258
	@# it will be correct when they do.
259
	cd build-win32 && $(PYTHON) ostools.py remove release */release
260
	cd build-win32 && $(PYTHON) bootstrap.py
4580.5.3 by John Arbash Meinel
Change the Makefile to stage things into a build directory
261
	cd build-win32 && bin/buildout
262
	cd build-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
263
264
265
clean-installer-all:
4580.5.14 by John Arbash Meinel
more updates to get things to build cleanly.
266
	$(PYTHON) tools/win32/ostools.py remove build-win32
4392.3.20 by Sidnei da Silva
- Add top-level make target to build all installers using buildout and another to cleanup
267
1928.2.1 by Alexander Belchenko
New target to produce html docs to upload on server
268
# make bzr.exe for win32 with py2exe
269
exe:
270
	@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.
271
	$(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
272
	$(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
273
	$(PYTHON) setup.py py2exe > py2exe.log
274
	$(PYTHON) tools/win32/ostools.py copytodir tools/win32/start_bzr.bat win32_bzr.exe
275
	$(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
276
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
277
# win32 installer for bzr.exe
1982.2.1 by Alexander Belchenko
small but important fix for 'make installer' dependencies
278
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
279
	@echo *** Make Windows installer
3557.1.3 by John Arbash Meinel
trivial tweak of Makefile to use the PYTHON variable
280
	$(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
281
	iscc /Q tools/win32/bzr.iss
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
282
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
283
# win32 Python's distutils-based installer
284
# require to have Python interpreter installed on win32
2946.2.1 by Alexander Belchenko
windows python-based installer: shortcut for uninstall action
285
py-inst-24: docs
4392.3.18 by Sidnei da Silva
- Make python-installer too
286
	$(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
287
288
py-inst-25: docs
4392.3.18 by Sidnei da Silva
- Make python-installer too
289
	$(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
290
4459.1.1 by John Arbash Meinel
Include python-2.6 as a build target for standalone builds.
291
py-inst-26: docs
4580.5.1 by John Arbash Meinel
Try to update the buildout rules for the newest versions of everything.
292
	$(PYTHON26) setup.py bdist_wininst --install-script="bzr-win32-bdist-postinstall.py" -d .
4459.1.1 by John Arbash Meinel
Include python-2.6 as a build target for standalone builds.
293
294
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
295
296
2691.1.15 by Ian Clatworthy
reorganise Makefile into logical sections
297
copy-docs: docs
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
298
	$(PYTHON) tools/win32/ostools.py copytodir README win32_bzr.exe/doc
299
	$(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
300
1821.1.1 by Alexander Belchenko
win32 installer for bzr.dev.0.9
301
# clean on win32 all installer-related files and directories
2666.2.1 by Alexander Belchenko
change generated documentation extension from htm to html
302
clean-win32: clean-docs
2934.2.1 by Ian Clatworthy
generates hooks.html correctly and generalise python command in Makefile
303
	$(PYTHON) tools/win32/ostools.py remove build
304
	$(PYTHON) tools/win32/ostools.py remove win32_bzr.exe
305
	$(PYTHON) tools/win32/ostools.py remove py2exe.log
306
	$(PYTHON) tools/win32/ostools.py remove tools/win32/bzr.iss
307
	$(PYTHON) tools/win32/ostools.py remove bzr-setup*.exe
308
	$(PYTHON) tools/win32/ostools.py remove bzr-*win32.exe
309
	$(PYTHON) tools/win32/ostools.py remove dist
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
310
3346.2.5 by Martin Pool
Add check-dist-tarball to run tests from the packaged source
311
.PHONY: dist dist-upload-escudero check-dist-tarball
3346.2.3 by Martin Pool
Add dist-upload-escudero target
312
3778.3.3 by Martin Pool
Build zip file from 'make dist' and document this; also tweak standard announcement mail
313
# build a distribution tarball and zip file.
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
314
#
315
# this method of copying the pyrex generated files is a bit ugly; it would be
316
# nicer to generate it from distutils.
317
dist: 
318
	version=`./bzr version --short` && \
319
	echo Building distribution of bzr $$version && \
3421.2.1 by John Arbash Meinel
Update make targets for distribution.
320
	expbasedir=`mktemp -t -d tmp_bzr_dist.XXXXXXXXXX` && \
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
321
	expdir=$$expbasedir/bzr-$$version && \
322
	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
323
	zipball=$$PWD/../bzr-$$version.zip && \
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
324
	$(MAKE) clean && \
325
	$(MAKE) && \
326
	bzr export $$expdir && \
327
	cp bzrlib/*.c $$expdir/bzrlib/. && \
328
	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
329
	(cd $$expbasedir && zip -r $$zipball bzr-$$version) && \
3346.2.2 by Martin Pool
Add a simple 'make dist' rule
330
	gpg --detach-sign $$tarball && \
3778.3.3 by Martin Pool
Build zip file from 'make dist' and document this; also tweak standard announcement mail
331
	gpg --detach-sign $$zipball && \
3421.2.1 by John Arbash Meinel
Update make targets for distribution.
332
	rm -rf $$expbasedir
3346.2.3 by Martin Pool
Add dist-upload-escudero target
333
3346.2.5 by Martin Pool
Add check-dist-tarball to run tests from the packaged source
334
# run all tests in a previously built tarball
335
check-dist-tarball:
3421.2.1 by John Arbash Meinel
Update make targets for distribution.
336
	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
337
	version=`./bzr version --short` && \
338
	tarball=$$PWD/../bzr-$$version.tar.gz && \
339
	tar Cxz $$tmpdir -f $$tarball && \
3421.2.1 by John Arbash Meinel
Update make targets for distribution.
340
	$(MAKE) -C $$tmpdir/bzr-$$version check && \
341
	rm -rf $$tmpdir
3346.2.5 by Martin Pool
Add check-dist-tarball to run tests from the packaged source
342
343
3346.2.3 by Martin Pool
Add dist-upload-escudero target
344
# upload previously built tarball to the download directory on bazaar-vcs.org,
345
# and verify that it can be downloaded ok.
346
dist-upload-escudero:
347
	version=`./bzr version --short` && \
348
	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
349
	zipball=../bzr-$$version.zip && \
350
	scp $$zipball $$zipball.sig $$tarball $$tarball.sig \
3346.2.3 by Martin Pool
Add dist-upload-escudero target
351
	    escudero.ubuntu.com:/srv/bazaar.canonical.com/www/releases/src \
352
		&& \
353
	echo verifying over http... && \
3778.3.3 by Martin Pool
Build zip file from 'make dist' and document this; also tweak standard announcement mail
354
	curl http://bazaar-vcs.org/releases/src/bzr-$$version.zip \
355
		| diff -s - $$zipball && \
356
	curl http://bazaar-vcs.org/releases/src/bzr-$$version.zip.sig \
357
		| diff -s - $$zipball.sig 
3346.2.3 by Martin Pool
Add dist-upload-escudero target
358
	curl http://bazaar-vcs.org/releases/src/bzr-$$version.tar.gz \
359
		| diff -s - $$tarball && \
360
	curl http://bazaar-vcs.org/releases/src/bzr-$$version.tar.gz.sig \
361
		| diff -s - $$tarball.sig