~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to Makefile

  • Committer: Vincent Ladeuil
  • Date: 2010-01-26 10:17:22 UTC
  • mfrom: (4985.1.5 add-attr-cleanup)
  • mto: This revision was merged to the branch mainline in revision 4988.
  • Revision ID: v.ladeuil+lp@free.fr-20100126101722-y213sv39buw3dgi2
Implement TestCase.overrideAttr to simplify tests setUp/cleanup

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('$<', '$@')"
307
293
        $(rst2html) --stylesheet=default.css $< $@
308
294
 
309
295
%.html: %.txt
310
 
        $(rst2html) --stylesheet=../../default.css $< "$@"
 
296
        $(rst2html) --stylesheet=../../default.css $< $@
311
297
 
312
 
doc/en/release-notes/NEWS.txt: $(NEWS_FILES) tools/generate_release_notes.py
313
 
        $(PYTHON) tools/generate_release_notes.py "$@" $(NEWS_FILES)
 
298
doc/en/release-notes/NEWS.txt: NEWS
 
299
        $(PYTHON) -c "import shutil; shutil.copyfile('$<', '$@')"
314
300
 
315
301
upgrade_guide_dependencies =  $(wildcard $(addsuffix /*.txt, doc/en/upgrade-guide)) 
316
302
 
418
404
        $(PYTHON) tools/win32/ostools.py remove dist
419
405
 
420
406
 
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
407
### Packaging Targets ###
442
408
 
443
 
.PHONY: dist check-dist-tarball
 
409
.PHONY: dist dist-upload-escudero check-dist-tarball
444
410
 
445
411
# build a distribution source tarball
446
412
#
468
434
        tar Cxz $$tmpdir -f $$tarball && \
469
435
        $(MAKE) -C $$tmpdir/bzr-$$version check && \
470
436
        rm -rf $$tmpdir
 
437
 
 
438
 
 
439
# upload previously built tarball to the download directory on bazaar-vcs.org,
 
440
# and verify that it can be downloaded ok.
 
441
dist-upload-escudero:
 
442
        version=`./bzr version --short` && \
 
443
        tarball=../bzr-$$version.tar.gz && \
 
444
        scp $$tarball $$tarball.sig \
 
445
            escudero.ubuntu.com:/srv/bazaar.canonical.com/www/releases/src \
 
446
                && \
 
447
        echo verifying over http... && \
 
448
        curl http://bazaar-vcs.org/releases/src/bzr-$$version.tar.gz \
 
449
                | diff -s - $$tarball && \
 
450
        curl http://bazaar-vcs.org/releases/src/bzr-$$version.tar.gz.sig \
 
451
                | diff -s - $$tarball.sig