/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to Makefile

  • Committer: James Westby
  • Date: 2007-09-18 18:55:00 UTC
  • mto: (2866.1.1 james.westby)
  • mto: This revision was merged to the branch mainline in revision 2867.
  • Revision ID: jw+debian@jameswestby.net-20070918185500-91alkjx8zolds1v8
Fix log against smart server branches that don't support tags. (#140615)

Add get_reverse_tag_dict to DisabledTags for branches that falsely
claim that they support tags (namely smart server branches). When the
remote branch was an old format without tags this caused log to fail.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2010 Canonical Ltd
 
1
# Copyright (C) 2005, 2006, 2007 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
# A relatively simple Makefile to assist in building parts of bzr. Mostly for
18
18
# building documentation, etc.
20
20
 
21
21
### Core Stuff ###
22
22
 
23
 
PYTHON=python
24
 
PYTHON24=python24
25
 
PYTHON25=python25
26
 
PYTHON26=python26
27
 
BZR_TARGET=release
28
 
PLUGIN_TARGET=plugin-release
29
 
PYTHON_BUILDFLAGS=
30
 
 
31
 
.PHONY: all clean extensions pyflakes api-docs check-nodocs check
 
23
.PHONY: all clean extensions pyflakes api-docs
32
24
 
33
25
all: extensions
34
26
 
35
27
extensions:
36
28
        @echo "building extension modules."
37
 
        $(PYTHON) setup.py build_ext -i $(PYTHON_BUILDFLAGS)
38
 
 
39
 
check: docs check-nodocs
40
 
 
41
 
check-nodocs: extensions
42
 
        # Generate a stream for PQM to watch.
43
 
        $(PYTHON) -Werror -O ./bzr selftest --subunit $(tests) | tee selftest.log
44
 
        # Check that there were no errors reported.
45
 
        subunit-stats < selftest.log
 
29
        python setup.py build_ext -i
 
30
 
 
31
check: docs extensions
 
32
        python -Werror -O ./bzr selftest -1v $(tests)
 
33
        @echo "Running all tests with no locale."
 
34
        LC_CTYPE= LANG=C LC_ALL= ./bzr selftest -1v $(tests) 2>&1 | sed -e 's/^/[ascii] /'
46
35
 
47
36
# Run Python style checker (apt-get install pyflakes)
48
37
#
57
46
        pyflakes bzrlib | grep -v ' imported but unused'
58
47
 
59
48
clean:
60
 
        $(PYTHON) setup.py clean
61
 
        -find . -name "*.pyc" -o -name "*.pyo" -o -name "*.so" | xargs rm -f
 
49
        python setup.py clean
 
50
        -find . -name "*.pyc" -o -name "*.pyo" | xargs rm -f
 
51
        rm -rf test????.tmp
62
52
 
63
53
# Build API documentation
64
54
docfiles = bzr bzrlib
65
55
api-docs:
66
56
        mkdir -p api/html
67
 
        PYTHONPATH=$(PWD) $(PYTHON) tools/bzr_epydoc --html -o api/html --docformat 'restructuredtext en' $(docfiles)
 
57
        PYTHONPATH=$(PWD) python tools/bzr_epydoc --html -o api/html --docformat 'restructuredtext en' $(docfiles)
68
58
check-api-docs:
69
 
        PYTHONPATH=$(PWD) $(PYTHON) tools/bzr_epydoc --check --docformat 'restructuredtext en' $(docfiles)
 
59
        PYTHONPATH=$(PWD) python tools/bzr_epydoc --check --docformat 'restructuredtext en' $(docfiles)
70
60
 
71
61
# build tags for emacs and vim
72
62
TAGS:
78
68
# these are treated as phony so they'll always be rebuilt - it's pretty quick
79
69
.PHONY: TAGS tags
80
70
 
81
 
 
82
71
### Documentation ###
83
72
 
84
 
# Default to plain documentation for maximum backwards compatibility.
85
 
# (Post 2.0, the defaults will most likely be Sphinx-style instead.)
86
 
 
87
 
docs: docs-plain
88
 
 
89
 
clean-docs: clean-plain
90
 
 
91
 
html-docs: html-plain
92
 
 
93
 
 
94
 
### Man-page Documentation ###
95
 
 
96
 
MAN_DEPENDENCIES = bzrlib/builtins.py \
97
 
        $(wildcard bzrlib/*.py) \
98
 
        $(wildcard bzrlib/*/*.py) \
99
 
        tools/generate_docs.py \
100
 
        $(wildcard $(addsuffix /*.txt, bzrlib/help_topics/en)) 
101
 
 
102
 
MAN_PAGES = man1/bzr.1
103
 
man1/bzr.1: $(MAN_DEPENDENCIES)
104
 
        $(PYTHON) tools/generate_docs.py -o $@ man
105
 
 
106
 
 
107
 
### Sphinx-style Documentation ###
108
 
 
109
 
# Build the documentation. To keep the dependencies down to a minimum
110
 
# for distro packagers, we only build the html documentation by default.
111
 
# Sphinx 0.6 or later is preferred for the best rendering, though
112
 
# Sphinx 0.4 or later should work. See http://sphinx.pocoo.org/index.html
113
 
# for installation instructions.
114
 
docs-sphinx: html-sphinx
115
 
 
116
 
# Clean out generated documentation
117
 
clean-sphinx:
118
 
        cd doc/en && make clean
119
 
        cd doc/es && make clean
120
 
        cd doc/ja && make clean
121
 
        cd doc/ru && make clean
122
 
        cd doc/developers && make clean
123
 
 
124
 
SPHINX_DEPENDENCIES = \
125
 
        doc/en/release-notes/index.txt \
126
 
        doc/en/user-reference/index.txt \
127
 
        doc/es/Makefile \
128
 
        doc/es/make.bat \
129
 
        doc/ja/Makefile \
130
 
        doc/ja/make.bat \
131
 
        doc/ru/Makefile \
132
 
        doc/ru/make.bat \
133
 
        doc/developers/Makefile \
134
 
        doc/developers/make.bat
135
 
 
136
 
doc/en/user-reference/index.txt: $(MAN_DEPENDENCIES)
137
 
        $(PYTHON) tools/generate_docs.py -o $@ rstx
138
 
 
139
 
doc/en/release-notes/index.txt: NEWS tools/generate_release_notes.py
140
 
        $(PYTHON) tools/generate_release_notes.py NEWS $@
141
 
 
142
 
doc/%/Makefile: doc/en/Makefile
143
 
        $(PYTHON) -c "import shutil; shutil.copyfile('$<', '$@')"
144
 
 
145
 
doc/%/make.bat: doc/en/make.bat
146
 
        $(PYTHON) -c "import shutil; shutil.copyfile('$<', '$@')"
147
 
 
148
 
# Build the html docs using Sphinx.
149
 
html-sphinx: $(SPHINX_DEPENDENCIES)
150
 
        cd doc/en && make html
151
 
        cd doc/es && make html
152
 
        cd doc/ru && make html
153
 
        cd doc/ja && make html
154
 
        cd doc/developers && make html
155
 
 
156
 
# Build the PDF docs using Sphinx. This requires numerous LaTeX
157
 
# packages. See http://sphinx.pocoo.org/builders.html for details.
158
 
# Note: We don't currently build PDFs for the Russian docs because
159
 
# they require additional packages to be installed (to handle
160
 
# Russian hyphenation rules, etc.)
161
 
pdf-sphinx: $(SPHINX_DEPENDENCIES)
162
 
        cd doc/en && make latex
163
 
        cd doc/es && make latex
164
 
        cd doc/ja && make latex
165
 
        cd doc/developers && make latex
166
 
        cd doc/en/_build/latex && make all-pdf
167
 
        cd doc/es/_build/latex && make all-pdf
168
 
        cd doc/developers/_build/latex && make all-pdf
169
 
 
170
 
# Build the CHM (Windows Help) docs using Sphinx.
171
 
# Note: HtmlHelp Workshop needs to be used on the generated hhp files
172
 
# to generate the final chm files.
173
 
chm-sphinx: $(SPHINX_DEPENDENCIES)
174
 
        cd doc/en && make htmlhelp
175
 
        cd doc/es && make htmlhelp
176
 
        cd doc/ru && make htmlhelp
177
 
        cd doc/ja && make htmlhelp
178
 
        cd doc/developers && make htmlhelp
179
 
 
180
 
 
181
 
### Documentation Website ###
182
 
 
183
 
# Where to build the website
184
 
DOC_WEBSITE_BUILD = build_doc_website
185
 
 
186
 
# Build and package docs into a website, complete with downloads.
187
 
doc-website: html-sphinx pdf-sphinx
188
 
        $(PYTHON) tools/package_docs.py doc/en $(DOC_WEBSITE_BUILD)
189
 
        $(PYTHON) tools/package_docs.py doc/es $(DOC_WEBSITE_BUILD)
190
 
        $(PYTHON) tools/package_docs.py doc/ru $(DOC_WEBSITE_BUILD)
191
 
        $(PYTHON) tools/package_docs.py doc/ja $(DOC_WEBSITE_BUILD)
192
 
        $(PYTHON) tools/package_docs.py doc/developers $(DOC_WEBSITE_BUILD)
193
 
 
194
 
 
195
 
### Plain Documentation ###
196
 
 
197
 
# While Sphinx is the preferred tool for building documentation, we still
198
 
# support our "plain" html documentation so that Sphinx is not a hard
199
 
# dependency for packagers on older platforms.
200
 
 
201
 
rst2html = $(PYTHON) tools/rst2html.py --link-stylesheet --footnote-references=superscript --halt=warning
 
73
# set PRETTY to get docs that look like the Bazaar web site
 
74
ifdef PRETTY
 
75
rst2html := python tools/rst2prettyhtml.py doc/bazaar-vcs.org.kid 
 
76
else
 
77
rst2html := python tools/rst2html.py --link-stylesheet --footnote-references=superscript 
 
78
endif
202
79
 
203
80
# translate txt docs to html
204
 
derived_txt_files = \
 
81
derived_txt_files := \
 
82
        doc/en/user-reference/bzr_man.txt \
 
83
        doc/en/developer-guide/HACKING.txt \
205
84
        doc/en/release-notes/NEWS.txt
206
 
txt_all = \
207
 
        doc/en/tutorials/tutorial.txt \
208
 
        doc/en/tutorials/using_bazaar_with_launchpad.txt \
209
 
        doc/en/tutorials/centralized_workflow.txt \
210
 
        $(wildcard doc/es/tutorials/*.txt) \
211
 
                $(wildcard doc/ru/tutorials/*.txt) \
212
 
        doc/ja/tutorials/tutorial.txt \
213
 
        doc/ja/tutorials/using_bazaar_with_launchpad.txt \
214
 
        doc/ja/tutorials/centralized_workflow.txt \
215
 
        $(wildcard doc/*/mini-tutorial/index.txt) \
216
 
        $(wildcard doc/*/user-guide/index-plain.txt) \
217
 
        doc/en/admin-guide/index-plain.txt \
218
 
        $(wildcard doc/es/guia-usario/*.txt) \
219
 
        $(derived_txt_files) \
220
 
        doc/en/upgrade-guide/index.txt \
221
 
        doc/index.txt \
222
 
        $(wildcard doc/index.*.txt)
223
 
txt_nohtml = \
224
 
        doc/en/user-guide/index.txt \
225
 
        doc/es/user-guide/index.txt \
226
 
        doc/ja/user-guide/index.txt \
227
 
        doc/ru/user-guide/index.txt \
228
 
        doc/en/admin-guide/index.txt
229
 
txt_files = $(filter-out $(txt_nohtml), $(txt_all))
230
 
htm_files = $(patsubst %.txt, %.html, $(txt_files)) 
231
 
 
232
 
non_txt_files = \
 
85
doc_dir := doc/en/user-guide
 
86
txt_files := $(wildcard $(addsuffix /*.txt, $(doc_dir))) $(derived_txt_files) \
 
87
        doc/en/mini-tutorial/index.txt \
 
88
        doc/index.txt
 
89
non_txt_files := \
233
90
       doc/default.css \
234
 
       $(wildcard doc/*/bzr-en-quick-reference.svg) \
235
 
       $(wildcard doc/*/bzr-en-quick-reference.png) \
236
 
       $(wildcard doc/*/bzr-en-quick-reference.pdf) \
237
 
       $(wildcard doc/*/bzr-es-quick-reference.svg) \
238
 
       $(wildcard doc/*/bzr-es-quick-reference.png) \
239
 
       $(wildcard doc/*/bzr-es-quick-reference.pdf) \
240
 
       $(wildcard doc/*/bzr-ru-quick-reference.svg) \
241
 
       $(wildcard doc/*/bzr-ru-quick-reference.png) \
242
 
       $(wildcard doc/*/bzr-ru-quick-reference.pdf) \
243
 
       $(wildcard doc/*/user-guide/images/*.png)
244
 
 
245
 
# doc/developers/*.txt files that should *not* be individually
246
 
# converted to HTML
247
 
dev_txt_nohtml = \
248
 
        doc/developers/add.txt \
249
 
        doc/developers/annotate.txt \
250
 
        doc/developers/bundle-creation.txt \
251
 
        doc/developers/commit.txt \
252
 
        doc/developers/diff.txt \
253
 
        doc/developers/directory-fingerprints.txt \
254
 
        doc/developers/gc.txt \
255
 
        doc/developers/implementation-notes.txt \
256
 
        doc/developers/incremental-push-pull.txt \
257
 
        doc/developers/index.txt \
258
 
        doc/developers/initial-push-pull.txt \
259
 
        doc/developers/merge-scaling.txt \
260
 
        doc/developers/miscellaneous-notes.txt \
261
 
        doc/developers/missing.txt \
262
 
        doc/developers/performance-roadmap-rationale.txt \
263
 
        doc/developers/performance-use-case-analysis.txt \
264
 
        doc/developers/planned-change-integration.txt \
265
 
        doc/developers/planned-performance-changes.txt \
266
 
        doc/developers/plans.txt \
267
 
        doc/developers/process.txt \
268
 
        doc/developers/revert.txt \
269
 
        doc/developers/specifications.txt \
270
 
        doc/developers/status.txt \
271
 
        doc/developers/uncommit.txt
272
 
 
273
 
dev_txt_all = $(wildcard $(addsuffix /*.txt, doc/developers))
274
 
dev_txt_files = $(filter-out $(dev_txt_nohtml), $(dev_txt_all))
275
 
dev_htm_files = $(patsubst %.txt, %.html, $(dev_txt_files)) 
276
 
 
277
 
doc/en/user-guide/index-plain.html: $(wildcard $(addsuffix /*.txt, doc/en/user-guide)) 
278
 
        $(rst2html) --stylesheet=../../default.css $(dir $@)index-plain.txt $@
279
 
 
280
 
#doc/es/user-guide/index.html: $(wildcard $(addsuffix /*.txt, doc/es/user-guide)) 
281
 
#       $(rst2html) --stylesheet=../../default.css $(dir $@)index.txt $@
282
 
#
283
 
#doc/ru/user-guide/index.html: $(wildcard $(addsuffix /*.txt, doc/ru/user-guide)) 
284
 
#       $(rst2html) --stylesheet=../../default.css $(dir $@)index.txt $@
285
 
#
286
 
doc/en/admin-guide/index-plain.html: $(wildcard $(addsuffix /*.txt, doc/en/admin-guide)) 
287
 
        $(rst2html) --stylesheet=../../default.css $(dir $@)index-plain.txt $@
 
91
       doc/en/quick-reference/quick-start-summary.svg
 
92
htm_files := $(patsubst %.txt, %.html, $(txt_files)) 
 
93
dev_txt_files := $(wildcard $(addsuffix /*.txt, doc/developers))
 
94
dev_htm_files := $(patsubst %.txt, %.html, $(dev_txt_files)) 
288
95
 
289
96
doc/developers/%.html: doc/developers/%.txt
290
97
        $(rst2html) --stylesheet=../default.css $< $@
292
99
doc/index.html: doc/index.txt
293
100
        $(rst2html) --stylesheet=default.css $< $@
294
101
 
295
 
doc/index.%.html: doc/index.%.txt
296
 
        $(rst2html) --stylesheet=default.css $< $@
297
 
 
298
102
%.html: %.txt
299
103
        $(rst2html) --stylesheet=../../default.css $< $@
300
104
 
 
105
MAN_DEPENDENCIES = bzrlib/builtins.py \
 
106
                 bzrlib/bundle/commands.py \
 
107
                 bzrlib/conflicts.py \
 
108
                 bzrlib/sign_my_commits.py \
 
109
                 generate_docs.py \
 
110
                 tools/doc_generate/__init__.py \
 
111
                 tools/doc_generate/autodoc_man.py \
 
112
                 tools/doc_generate/autodoc_rstx.py
 
113
 
 
114
doc/en/user-reference/bzr_man.txt: $(MAN_DEPENDENCIES)
 
115
        python generate_docs.py -o $@ rstx
 
116
 
 
117
doc/en/developer-guide/HACKING.txt: doc/developers/HACKING.txt
 
118
        python tools/win32/ostools.py copytodir doc/developers/HACKING.txt doc/en/developer-guide
 
119
 
301
120
doc/en/release-notes/NEWS.txt: NEWS
302
 
        $(PYTHON) -c "import shutil; shutil.copyfile('$<', '$@')"
303
 
 
304
 
upgrade_guide_dependencies =  $(wildcard $(addsuffix /*.txt, doc/en/upgrade-guide)) 
305
 
 
306
 
doc/en/upgrade-guide/index.html: $(upgrade_guide_dependencies)
307
 
        $(rst2html) --stylesheet=../../default.css $(dir $@)index.txt $@
308
 
 
309
 
derived_web_docs = $(htm_files) $(dev_htm_files) 
 
121
        python -c "import shutil; shutil.copyfile('$<', '$@')"
 
122
 
 
123
MAN_PAGES = man1/bzr.1
 
124
man1/bzr.1: $(MAN_DEPENDENCIES)
 
125
        python generate_docs.py -o $@ man
 
126
 
 
127
# build a png of our performance task list
 
128
doc/developers/performance.png: doc/developers/performance.dot
 
129
        @echo Generating $@
 
130
        @dot -Tpng $< -o$@ || echo "Dot not installed; skipping generation of $@"
 
131
 
 
132
derived_web_docs = $(htm_files) $(dev_htm_files) doc/developers/performance.png
310
133
WEB_DOCS = $(derived_web_docs) $(non_txt_files)
311
134
ALL_DOCS = $(derived_web_docs) $(MAN_PAGES)
312
135
 
313
136
# the main target to build all the docs
314
 
docs-plain: $(ALL_DOCS)
 
137
docs: $(ALL_DOCS)
315
138
 
316
139
# produce a tree containing just the final docs, ready for uploading to the web
317
 
HTMLDIR = html_docs
318
 
html-plain: docs-plain
319
 
        $(PYTHON) tools/win32/ostools.py copytree $(WEB_DOCS) $(HTMLDIR)
 
140
HTMLDIR := html_docs
 
141
html-docs: docs
 
142
        python tools/win32/ostools.py copytree $(WEB_DOCS) $(HTMLDIR)
320
143
 
321
144
# clean produced docs
322
 
clean-plain:
323
 
        $(PYTHON) tools/win32/ostools.py remove $(ALL_DOCS) \
324
 
            $(HTMLDIR) $(derived_txt_files)
325
 
 
326
 
 
327
 
### Miscellaneous Documentation Targets ###
328
 
 
329
 
# build a png of our performance task list
330
 
# this is no longer built by default; you can build it if you want to look at it
331
 
doc/developers/performance.png: doc/developers/performance.dot
332
 
        @echo Generating $@
333
 
        @dot -Tpng $< -o$@ || echo "Dot not installed; skipping generation of $@"
 
145
clean-docs:
 
146
        python tools/win32/ostools.py remove $(ALL_DOCS) \
 
147
        $(HTMLDIR) $(derived_txt_files)
334
148
 
335
149
 
336
150
### Windows Support ###
337
151
 
338
 
# make all the installers completely from scratch, using zc.buildout
339
 
# to fetch the dependencies
340
 
# These are files that need to be copied into the build location to boostrap
341
 
# the build process.
342
 
# Note that the path is relative to tools/win32
343
 
BUILDOUT_FILES = buildout.cfg \
344
 
        buildout-templates/bin/build-installer.bat.in \
345
 
        ostools.py bootstrap.py
346
 
 
347
 
installer-all:
348
 
        @echo Make all the installers from scratch
349
 
        @# Build everything in a separate directory, to avoid cluttering the WT
350
 
        $(PYTHON) tools/win32/ostools.py makedir build-win32
351
 
        @# cd to tools/win32 so that the relative paths are copied correctly
352
 
        cd tools/win32 && $(PYTHON) ostools.py copytree $(BUILDOUT_FILES) ../../build-win32
353
 
        @# There seems to be a bug in gf.release.bzr, It doesn't correctly update
354
 
        @# existing release directories, so delete them manually before building
355
 
        @# It means things may be rebuilt that don't need to be, but at least
356
 
        @# it will be correct when they do.
357
 
        cd build-win32 && $(PYTHON) ostools.py remove release */release
358
 
        cd build-win32 && $(PYTHON) bootstrap.py
359
 
        cd build-win32 && bin/buildout
360
 
        cd build-win32 && bin/build-installer.bat $(BZR_TARGET) $(PLUGIN_TARGET)
361
 
 
362
 
 
363
 
clean-installer-all:
364
 
        $(PYTHON) tools/win32/ostools.py remove build-win32
365
 
 
366
152
# make bzr.exe for win32 with py2exe
367
153
exe:
368
154
        @echo *** Make bzr.exe
369
 
        $(PYTHON) tools/win32/ostools.py remove bzrlib/*.pyd
370
 
        $(PYTHON) setup.py build_ext -i -f $(PYTHON_BUILDFLAGS)
371
 
        $(PYTHON) setup.py py2exe > py2exe.log
372
 
        $(PYTHON) tools/win32/ostools.py copytodir tools/win32/start_bzr.bat win32_bzr.exe
373
 
        $(PYTHON) tools/win32/ostools.py copytodir tools/win32/bazaar.url win32_bzr.exe
 
155
        python setup.py build_ext -i -f
 
156
        python setup.py py2exe > py2exe.log
 
157
        python tools/win32/ostools.py copytodir tools/win32/start_bzr.bat win32_bzr.exe
 
158
        python tools/win32/ostools.py copytodir tools/win32/bazaar.url win32_bzr.exe
374
159
 
375
160
# win32 installer for bzr.exe
376
161
installer: exe copy-docs
377
 
        @echo *** Make Windows installer
378
 
        $(PYTHON) tools/win32/run_script.py cog.py -d -o tools/win32/bzr.iss tools/win32/bzr.iss.cog
 
162
        @echo *** Make windows installer
 
163
        cog.py -d -o tools/win32/bzr.iss tools/win32/bzr.iss.cog
379
164
        iscc /Q tools/win32/bzr.iss
380
165
 
381
 
# win32 Python's distutils-based installer
382
 
# require to have Python interpreter installed on win32
383
 
py-inst-24: docs
384
 
        $(PYTHON24) setup.py bdist_wininst --install-script="bzr-win32-bdist-postinstall.py" -d .
385
 
 
386
 
py-inst-25: docs
387
 
        $(PYTHON25) setup.py bdist_wininst --install-script="bzr-win32-bdist-postinstall.py" -d .
388
 
 
389
 
py-inst-26: docs
390
 
        $(PYTHON26) setup.py bdist_wininst --install-script="bzr-win32-bdist-postinstall.py" -d .
391
 
 
392
 
python-installer: py-inst-24 py-inst-25 py-inst-26
393
 
 
 
166
# win32 python's distutils-based installer
 
167
# require to have python interpreter installed on win32
 
168
python-installer: docs
 
169
        python24 setup.py bdist_wininst --install-script="bzr-win32-bdist-postinstall.py" -d .
 
170
        python25 setup.py bdist_wininst --install-script="bzr-win32-bdist-postinstall.py" -d .
394
171
 
395
172
copy-docs: docs
396
 
        $(PYTHON) tools/win32/ostools.py copytodir README win32_bzr.exe/doc
397
 
        $(PYTHON) tools/win32/ostools.py copytree $(WEB_DOCS) win32_bzr.exe
 
173
        python tools/win32/ostools.py copytodir README win32_bzr.exe/doc
 
174
        python tools/win32/ostools.py copytree $(WEB_DOCS) win32_bzr.exe
398
175
 
399
176
# clean on win32 all installer-related files and directories
400
177
clean-win32: clean-docs
401
 
        $(PYTHON) tools/win32/ostools.py remove build
402
 
        $(PYTHON) tools/win32/ostools.py remove win32_bzr.exe
403
 
        $(PYTHON) tools/win32/ostools.py remove py2exe.log
404
 
        $(PYTHON) tools/win32/ostools.py remove tools/win32/bzr.iss
405
 
        $(PYTHON) tools/win32/ostools.py remove bzr-setup*.exe
406
 
        $(PYTHON) tools/win32/ostools.py remove bzr-*win32.exe
407
 
        $(PYTHON) tools/win32/ostools.py remove dist
408
 
 
409
 
 
410
 
### Packaging Targets ###
411
 
 
412
 
.PHONY: dist check-dist-tarball
413
 
 
414
 
# build a distribution source tarball
415
 
#
416
 
# this method of copying the pyrex generated files is a bit ugly; it would be
417
 
# nicer to generate it from distutils.
418
 
dist: 
419
 
        version=`./bzr version --short` && \
420
 
        echo Building distribution of bzr $$version && \
421
 
        expbasedir=`mktemp -t -d tmp_bzr_dist.XXXXXXXXXX` && \
422
 
        expdir=$$expbasedir/bzr-$$version && \
423
 
        tarball=$$PWD/../bzr-$$version.tar.gz && \
424
 
        $(MAKE) clean && \
425
 
        $(MAKE) && \
426
 
        bzr export $$expdir && \
427
 
        cp bzrlib/*.c bzrlib/*.h $$expdir/bzrlib/. && \
428
 
        tar cfz $$tarball -C $$expbasedir bzr-$$version && \
429
 
        gpg --detach-sign $$tarball && \
430
 
        rm -rf $$expbasedir
431
 
 
432
 
# run all tests in a previously built tarball
433
 
check-dist-tarball:
434
 
        tmpdir=`mktemp -t -d tmp_bzr_check_dist.XXXXXXXXXX` && \
435
 
        version=`./bzr version --short` && \
436
 
        tarball=$$PWD/../bzr-$$version.tar.gz && \
437
 
        tar Cxz $$tmpdir -f $$tarball && \
438
 
        $(MAKE) -C $$tmpdir/bzr-$$version check && \
439
 
        rm -rf $$tmpdir
 
178
        python tools/win32/ostools.py remove build
 
179
        python tools/win32/ostools.py remove win32_bzr.exe
 
180
        python tools/win32/ostools.py remove py2exe.log
 
181
        python tools/win32/ostools.py remove tools/win32/bzr.iss
 
182
        python tools/win32/ostools.py remove bzr-setup*.exe
 
183
        python tools/win32/ostools.py remove bzr-*win32.exe
 
184
        python tools/win32/ostools.py remove dist