~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to Makefile

  • Committer: Andrew Bennetts
  • Date: 2009-11-25 07:27:43 UTC
  • mto: This revision was merged to the branch mainline in revision 4825.
  • Revision ID: andrew.bennetts@canonical.com-20091125072743-v6sv4m2mkt9iyslp
Terminate SSHSubprocesses when no refs to them are left, in case .close is never called.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005-2011 Canonical Ltd
 
1
# Copyright (C) 2005, 2006, 2007, 2008, 2009 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
28
28
PLUGIN_TARGET=plugin-release
29
29
PYTHON_BUILDFLAGS=
30
30
 
31
 
.PHONY: all clean realclean extensions pyflakes api-docs check-nodocs check
 
31
.PHONY: all clean extensions pyflakes api-docs check-nodocs check
32
32
 
33
33
all: extensions
34
34
 
39
39
check: docs check-nodocs
40
40
 
41
41
check-nodocs: extensions
42
 
        set -e
43
 
        # Generate a stream for PQM to watch.
44
 
        -$(RM) -f selftest.log
45
 
        $(PYTHON) -Werror -Wignore::ImportWarning -O ./bzr selftest --subunit $(tests) | tee selftest.log
46
 
        # An empty log file should catch errors in the $(PYTHON)
47
 
        # command above (the '|' swallow any errors since 'make'
48
 
        # sees the 'tee' exit code for the whole line
49
 
        if [ ! -s selftest.log ] ; then exit 1 ; fi
50
 
        # Check that there were no errors reported.
51
 
        subunit-stats < selftest.log
 
42
        $(PYTHON) -Werror -O ./bzr selftest -1v $(tests)
52
43
 
53
44
# Run Python style checker (apt-get install pyflakes)
54
45
#
66
57
        $(PYTHON) setup.py clean
67
58
        -find . -name "*.pyc" -o -name "*.pyo" -o -name "*.so" | xargs rm -f
68
59
 
69
 
realclean: clean
70
 
        # Remove files which are autogenerated but included by the tarball.
71
 
        rm -f bzrlib/*_pyx.c
72
 
        rm -f bzrlib/_simple_set_pyx.h bzrlib/_simple_set_pyx_api.h
73
 
 
74
60
# Build API documentation
75
61
docfiles = bzr bzrlib
76
62
api-docs:
77
63
        mkdir -p api/html
78
 
        pydoctor --make-html --docformat='restructuredtext' --html-output=api/html $(docfiles)
 
64
        PYTHONPATH=$(PWD) $(PYTHON) tools/bzr_epydoc --html -o api/html --docformat 'restructuredtext en' $(docfiles)
 
65
check-api-docs:
 
66
        PYTHONPATH=$(PWD) $(PYTHON) tools/bzr_epydoc --check --docformat 'restructuredtext en' $(docfiles)
79
67
 
80
68
# build tags for emacs and vim
81
69
TAGS:
142
130
        doc/developers/Makefile \
143
131
        doc/developers/make.bat
144
132
 
145
 
NEWS_FILES = $(wildcard doc/en/release-notes/bzr-*.txt)
146
 
 
147
133
doc/en/user-reference/index.txt: $(MAN_DEPENDENCIES)
148
134
        $(PYTHON) tools/generate_docs.py -o $@ rstx
149
135
 
150
 
doc/en/release-notes/index.txt: $(NEWS_FILES) tools/generate_release_notes.py
151
 
        $(PYTHON) tools/generate_release_notes.py $@ $(NEWS_FILES)
 
136
doc/en/release-notes/index.txt: NEWS tools/generate_release_notes.py
 
137
        $(PYTHON) tools/generate_release_notes.py NEWS $@
152
138
 
153
139
doc/%/Makefile: doc/en/Makefile
154
140
        $(PYTHON) -c "import shutil; shutil.copyfile('$<', '$@')"
213
199
 
214
200
# translate txt docs to html
215
201
derived_txt_files = \
 
202
        doc/en/user-reference/bzr_man.txt \
216
203
        doc/en/release-notes/NEWS.txt
217
204
txt_all = \
218
205
        doc/en/tutorials/tutorial.txt \
225
212
        doc/ja/tutorials/centralized_workflow.txt \
226
213
        $(wildcard doc/*/mini-tutorial/index.txt) \
227
214
        $(wildcard doc/*/user-guide/index-plain.txt) \
228
 
        doc/en/admin-guide/index-plain.txt \
229
215
        $(wildcard doc/es/guia-usario/*.txt) \
230
216
        $(derived_txt_files) \
231
217
        doc/en/upgrade-guide/index.txt \
235
221
        doc/en/user-guide/index.txt \
236
222
        doc/es/user-guide/index.txt \
237
223
        doc/ja/user-guide/index.txt \
238
 
        doc/ru/user-guide/index.txt \
239
 
        doc/en/admin-guide/index.txt
 
224
        doc/ru/user-guide/index.txt
240
225
txt_files = $(filter-out $(txt_nohtml), $(txt_all))
241
226
htm_files = $(patsubst %.txt, %.html, $(txt_files)) 
242
227
 
294
279
#doc/ru/user-guide/index.html: $(wildcard $(addsuffix /*.txt, doc/ru/user-guide)) 
295
280
#       $(rst2html) --stylesheet=../../default.css $(dir $@)index.txt $@
296
281
#
297
 
doc/en/admin-guide/index-plain.html: $(wildcard $(addsuffix /*.txt, doc/en/admin-guide)) 
298
 
        $(rst2html) --stylesheet=../../default.css $(dir $@)index-plain.txt $@
299
 
 
300
282
doc/developers/%.html: doc/developers/%.txt
301
283
        $(rst2html) --stylesheet=../default.css $< $@
302
284
 
307
289
        $(rst2html) --stylesheet=default.css $< $@
308
290
 
309
291
%.html: %.txt
310
 
        $(rst2html) --stylesheet=../../default.css $< "$@"
311
 
 
312
 
doc/en/release-notes/NEWS.txt: $(NEWS_FILES) tools/generate_release_notes.py
313
 
        $(PYTHON) tools/generate_release_notes.py "$@" $(NEWS_FILES)
 
292
        $(rst2html) --stylesheet=../../default.css $< $@
 
293
 
 
294
doc/en/user-reference/bzr_man.txt: $(MAN_DEPENDENCIES)
 
295
        $(PYTHON) tools/generate_docs.py -o $@ rstx
 
296
 
 
297
doc/en/release-notes/NEWS.txt: NEWS
 
298
        $(PYTHON) -c "import shutil; shutil.copyfile('$<', '$@')"
314
299
 
315
300
upgrade_guide_dependencies =  $(wildcard $(addsuffix /*.txt, doc/en/upgrade-guide)) 
316
301
 
418
403
        $(PYTHON) tools/win32/ostools.py remove dist
419
404
 
420
405
 
421
 
# i18n targets
422
 
 
423
 
.PHONY: update-pot po/bzr.pot
424
 
update-pot: po/bzr.pot
425
 
 
426
 
TRANSLATABLE_PYFILES:=$(shell find bzrlib -name '*.py' \
427
 
                | grep -v 'bzrlib/tests/' \
428
 
                | grep -v 'bzrlib/doc' \
429
 
                )
430
 
 
431
 
po/bzr.pot: $(PYFILES) $(DOCFILES)
432
 
        $(PYTHON) ./bzr export-pot > po/bzr.pot
433
 
        echo $(TRANSLATABLE_PYFILES) | xargs \
434
 
          xgettext --package-name "bzr" \
435
 
          --msgid-bugs-address "<bazaar@canonical.com>" \
436
 
          --copyright-holder "Canonical" \
437
 
          --from-code ISO-8859-1 --join --sort-by-file --add-comments=i18n: \
438
 
          -d bzr -p po -o bzr.pot
439
 
 
440
 
 
441
406
### Packaging Targets ###
442
407
 
443
 
.PHONY: dist check-dist-tarball
 
408
.PHONY: dist dist-upload-escudero check-dist-tarball
444
409
 
445
410
# build a distribution source tarball
446
411
#
468
433
        tar Cxz $$tmpdir -f $$tarball && \
469
434
        $(MAKE) -C $$tmpdir/bzr-$$version check && \
470
435
        rm -rf $$tmpdir
 
436
 
 
437
 
 
438
# upload previously built tarball to the download directory on bazaar-vcs.org,
 
439
# and verify that it can be downloaded ok.
 
440
dist-upload-escudero:
 
441
        version=`./bzr version --short` && \
 
442
        tarball=../bzr-$$version.tar.gz && \
 
443
        scp $$tarball $$tarball.sig \
 
444
            escudero.ubuntu.com:/srv/bazaar.canonical.com/www/releases/src \
 
445
                && \
 
446
        echo verifying over http... && \
 
447
        curl http://bazaar-vcs.org/releases/src/bzr-$$version.tar.gz \
 
448
                | diff -s - $$tarball && \
 
449
        curl http://bazaar-vcs.org/releases/src/bzr-$$version.tar.gz.sig \
 
450
                | diff -s - $$tarball.sig