2399.1.1
by John Arbash Meinel
Update Makefile to add 'make api-docs' using pydoctor |
1 |
# Copyright (C) 2005, 2006, 2007 Canonical Ltd
|
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
|
|
15 |
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
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 |
||
1739.1.6
by Robert Collins
Resolve conflicts with bzr.dev. |
23 |
.PHONY: all clean extensions pyflakes api-docs |
24 |
||
1739.1.5
by Robert Collins
Review feedback. |
25 |
all: extensions |
26 |
||
27 |
extensions: |
|
1739.1.3
by Robert Collins
Merge bzr.dev. |
28 |
@echo "building extension modules."
|
2449.1.1
by Alexander Belchenko
fix RSTX wrong formatting in HACKING |
29 |
python setup.py build_ext -i |
1102
by Martin Pool
- merge test refactoring from robertc |
30 |
|
2495.5.1
by John Arbash Meinel
(Andrew Bennetts) 'make check' builds docs as well |
31 |
check: docs extensions |
2720.1.3
by Martin Pool
Make check runs only until it finds one error |
32 |
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. |
33 |
@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 |
34 |
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 |
35 |
|
1185.33.72
by Martin Pool
Fix commit message template for non-ascii files, and add test for handling of |
36 |
check-msgeditor: |
37 |
./bzr --no-plugins selftest -v msgeditor |
|
38 |
||
1773.4.1
by Martin Pool
Add pyflakes makefile target; fix many warnings |
39 |
# Run Python style checker (apt-get install pyflakes)
|
40 |
pyflakes: |
|
41 |
pyflakes bzrlib |
|
42 |
||
43 |
pyflakes-nounused: |
|
44 |
# There are many of these warnings at the moment and they're not a
|
|
45 |
# high priority to fix
|
|
46 |
pyflakes bzrlib | grep -v ' imported but unused' |
|
47 |
||
48 |
clean: |
|
2366.2.1
by Matthew Fuller
(trivial) Use 'python setup.py' instead of './setup.py'. |
49 |
python setup.py clean |
1185.62.18
by John Arbash Meinel
From Jari Alto: Makefile fixes (clean target error suppression) |
50 |
-find . -name "*.pyc" -o -name "*.pyo" | xargs rm -f |
1427
by Robert Collins
clean up test dirs on make clean |
51 |
rm -rf test????.tmp |
1185.1.21
by Robert Collins
add a clean target |
52 |
|
2691.1.15
by Ian Clatworthy
reorganise Makefile into logical sections |
53 |
# 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. |
54 |
docfiles = bzr bzrlib |
2399.1.1
by John Arbash Meinel
Update Makefile to add 'make api-docs' using pydoctor |
55 |
api-docs: |
2413.4.1
by John Arbash Meinel
Cherrypick just the epydoc builder changes. |
56 |
mkdir -p api/html |
57 |
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 |
58 |
check-api-docs: |
59 |
PYTHONPATH=$(PWD) python tools/bzr_epydoc --check --docformat 'restructuredtext en' $(docfiles) |
|
60 |
||
1158
by Martin Pool
- make target to build emacs TAGS file |
61 |
# build emacs cross-reference
|
62 |
tag_files=./bzr ./bzrlib/*py ./bzrlib/selftest/*.py |
|
63 |
TAGS: $(tag_files) |
|
64 |
ctags-exuberant -e $(tag_files) |
|
1536.1.1
by Martin Pool
Move in tutorial text from wiki. |
65 |
|
1821.1.1
by Alexander Belchenko
win32 installer for bzr.dev.0.9 |
66 |
|
2691.1.15
by Ian Clatworthy
reorganise Makefile into logical sections |
67 |
### Documentation ###
|
1821.1.1
by Alexander Belchenko
win32 installer for bzr.dev.0.9 |
68 |
|
2691.1.17
by Ian Clatworthy
Fix pretty doc generation so works for all html docs |
69 |
# set PRETTY to get docs that look like the Bazaar web site
|
70 |
ifdef PRETTY
|
|
71 |
rst2html := python tools/rst2prettyhtml.py doc/bazaar-vcs.org.kid |
|
72 |
else
|
|
73 |
rst2html := python tools/rst2html.py --link-stylesheet --footnote-references=superscript |
|
74 |
endif
|
|
75 |
||
1821.1.1
by Alexander Belchenko
win32 installer for bzr.dev.0.9 |
76 |
# translate txt docs to html
|
2691.1.4
by Ian Clatworthy
teach Makefile and .bzrignore re new doc structure |
77 |
derived_txt_files := \ |
78 |
doc/en/user-reference/bzr_man.txt \
|
|
79 |
doc/en/developer-guide/HACKING.txt \
|
|
80 |
doc/en/release-notes/NEWS.txt |
|
81 |
doc_dir := doc/en/user-guide |
|
2691.1.6
by Ian Clatworthy
Add a top level doc index |
82 |
txt_files := $(wildcard $(addsuffix /*.txt, $(doc_dir))) $(derived_txt_files) \ |
2691.1.16
by Ian Clatworthy
Ensure doc hierarchy is setup correctly for the Windows installer |
83 |
doc/en/mini-tutorial/index.txt \
|
2691.1.6
by Ian Clatworthy
Add a top level doc index |
84 |
doc/index.txt |
2691.1.17
by Ian Clatworthy
Fix pretty doc generation so works for all html docs |
85 |
non_txt_files := \ |
86 |
doc/default.css \
|
|
87 |
doc/en/quick-reference/quick-start-summary.svg |
|
2666.2.1
by Alexander Belchenko
change generated documentation extension from htm to html |
88 |
htm_files := $(patsubst %.txt, %.html, $(txt_files)) |
2481.1.3
by Robert Collins
Add the performance roadmap rationale. |
89 |
dev_txt_files := $(wildcard $(addsuffix /*.txt, doc/developers)) |
2666.2.1
by Alexander Belchenko
change generated documentation extension from htm to html |
90 |
dev_htm_files := $(patsubst %.txt, %.html, $(dev_txt_files)) |
2054.2.14
by Aaron Bentley
Add 'pretty-docs' target to makefile |
91 |
|
2666.2.1
by Alexander Belchenko
change generated documentation extension from htm to html |
92 |
doc/developers/%.html: doc/developers/%.txt |
2691.1.17
by Ian Clatworthy
Fix pretty doc generation so works for all html docs |
93 |
$(rst2html) --stylesheet=../default.css $< $@ |
2666.2.1
by Alexander Belchenko
change generated documentation extension from htm to html |
94 |
|
2691.1.6
by Ian Clatworthy
Add a top level doc index |
95 |
doc/index.html: doc/index.txt |
2691.1.17
by Ian Clatworthy
Fix pretty doc generation so works for all html docs |
96 |
$(rst2html) --stylesheet=default.css $< $@ |
2691.1.6
by Ian Clatworthy
Add a top level doc index |
97 |
|
2666.2.1
by Alexander Belchenko
change generated documentation extension from htm to html |
98 |
%.html: %.txt |
2691.1.17
by Ian Clatworthy
Fix pretty doc generation so works for all html docs |
99 |
$(rst2html) --stylesheet=../../default.css $< $@ |
2054.2.14
by Aaron Bentley
Add 'pretty-docs' target to makefile |
100 |
|
2425.1.1
by Robert Collins
``make docs`` now creates a man page at ``man1/bzr.1`` fixing bug 107388. |
101 |
MAN_DEPENDENCIES = bzrlib/builtins.py \ |
1928.2.1
by Alexander Belchenko
New target to produce html docs to upload on server |
102 |
bzrlib/bundle/commands.py \
|
103 |
bzrlib/conflicts.py \
|
|
104 |
bzrlib/sign_my_commits.py \
|
|
105 |
generate_docs.py \
|
|
106 |
tools/doc_generate/__init__.py \
|
|
2677.1.1
by Alexander Belchenko
rst2html: workaround for IE bug with id="tags" |
107 |
tools/doc_generate/autodoc_man.py \
|
1928.2.1
by Alexander Belchenko
New target to produce html docs to upload on server |
108 |
tools/doc_generate/autodoc_rstx.py |
2425.1.1
by Robert Collins
``make docs`` now creates a man page at ``man1/bzr.1`` fixing bug 107388. |
109 |
|
2691.1.4
by Ian Clatworthy
teach Makefile and .bzrignore re new doc structure |
110 |
doc/en/user-reference/bzr_man.txt: $(MAN_DEPENDENCIES) |
2425.1.1
by Robert Collins
``make docs`` now creates a man page at ``man1/bzr.1`` fixing bug 107388. |
111 |
python generate_docs.py -o $@ rstx
|
112 |
||
2691.1.4
by Ian Clatworthy
teach Makefile and .bzrignore re new doc structure |
113 |
doc/en/developer-guide/HACKING.txt: doc/developers/HACKING.txt |
114 |
python tools/win32/ostools.py copytodir doc/developers/HACKING.txt doc/en/developer-guide |
|
115 |
||
116 |
doc/en/release-notes/NEWS.txt: NEWS |
|
117 |
python -c "import shutil; shutil.copyfile('$<', '$@')" |
|
118 |
||
2425.1.1
by Robert Collins
``make docs`` now creates a man page at ``man1/bzr.1`` fixing bug 107388. |
119 |
MAN_PAGES = man1/bzr.1 |
120 |
man1/bzr.1: $(MAN_DEPENDENCIES) |
|
121 |
python generate_docs.py -o $@ man
|
|
122 |
||
2691.1.15
by Ian Clatworthy
reorganise Makefile into logical sections |
123 |
# build a png of our performance task list
|
124 |
doc/developers/performance.png: doc/developers/performance.dot |
|
125 |
@echo Generating $@
|
|
126 |
@dot -Tpng $< -o$@ || echo "Dot not installed; skipping generation of $@" |
|
127 |
||
2691.1.17
by Ian Clatworthy
Fix pretty doc generation so works for all html docs |
128 |
derived_web_docs = $(htm_files) $(dev_htm_files) doc/developers/performance.png |
129 |
WEB_DOCS = $(derived_web_docs) $(non_txt_files) |
|
130 |
ALL_DOCS = $(derived_web_docs) $(MAN_PAGES) |
|
131 |
||
132 |
# the main target to build all the docs
|
|
133 |
docs: $(ALL_DOCS) |
|
134 |
||
135 |
# 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 |
136 |
HTMLDIR := html_docs |
137 |
html-docs: docs |
|
2691.1.16
by Ian Clatworthy
Ensure doc hierarchy is setup correctly for the Windows installer |
138 |
python tools/win32/ostools.py copytree $(WEB_DOCS) $(HTMLDIR) |
2691.1.15
by Ian Clatworthy
reorganise Makefile into logical sections |
139 |
|
1928.2.1
by Alexander Belchenko
New target to produce html docs to upload on server |
140 |
# clean produced docs
|
141 |
clean-docs: |
|
2481.1.1
by Robert Collins
Move HACKING to docs/developers/HACKING and adjust Makefile to accomodate this. |
142 |
python tools/win32/ostools.py remove $(ALL_DOCS) \ |
2691.1.17
by Ian Clatworthy
Fix pretty doc generation so works for all html docs |
143 |
$(HTMLDIR) $(derived_txt_files) |
2522.3.1
by Robert Collins
Draft proposed integration order for performance changes. |
144 |
|
145 |
||
2691.1.15
by Ian Clatworthy
reorganise Makefile into logical sections |
146 |
### Windows Support ###
|
1928.2.1
by Alexander Belchenko
New target to produce html docs to upload on server |
147 |
|
148 |
# make bzr.exe for win32 with py2exe
|
|
149 |
exe: |
|
150 |
@echo *** Make bzr.exe |
|
2571.3.2
by Alexander Belchenko
Build pyrex/C extensions for bzr.exe |
151 |
python setup.py build_ext -i -f |
1928.2.1
by Alexander Belchenko
New target to produce html docs to upload on server |
152 |
python setup.py py2exe > py2exe.log |
153 |
python tools/win32/ostools.py copytodir tools/win32/start_bzr.bat win32_bzr.exe |
|
154 |
python tools/win32/ostools.py copytodir tools/win32/bazaar.url win32_bzr.exe |
|
155 |
||
1821.1.1
by Alexander Belchenko
win32 installer for bzr.dev.0.9 |
156 |
# win32 installer for bzr.exe
|
1982.2.1
by Alexander Belchenko
small but important fix for 'make installer' dependencies |
157 |
installer: exe copy-docs |
1861.2.18
by Alexander Belchenko
Makefile: cross-platform actions for building installer |
158 |
@echo *** Make windows installer |
159 |
cog.py -d -o tools/win32/bzr.iss tools/win32/bzr.iss.cog |
|
160 |
iscc /Q tools/win32/bzr.iss |
|
1821.1.1
by Alexander Belchenko
win32 installer for bzr.dev.0.9 |
161 |
|
1821.1.2
by Alexander Belchenko
resurrected python's distutils based installer for win32 |
162 |
# win32 python's distutils-based installer
|
163 |
# require to have python interpreter installed on win32
|
|
1860.1.3
by Alexander Belchenko
python-installer: |
164 |
python-installer: docs |
2571.3.1
by Alexander Belchenko
Building Python-based installer for bot Python 2.4 and 2.5 |
165 |
python24 setup.py bdist_wininst --install-script="bzr-win32-bdist-postinstall.py" -d . |
166 |
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 |
167 |
|
2691.1.15
by Ian Clatworthy
reorganise Makefile into logical sections |
168 |
copy-docs: docs |
2691.1.16
by Ian Clatworthy
Ensure doc hierarchy is setup correctly for the Windows installer |
169 |
python tools/win32/ostools.py copytodir README win32_bzr.exe/doc |
170 |
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 |
171 |
|
1821.1.1
by Alexander Belchenko
win32 installer for bzr.dev.0.9 |
172 |
# clean on win32 all installer-related files and directories
|
2666.2.1
by Alexander Belchenko
change generated documentation extension from htm to html |
173 |
clean-win32: clean-docs |
1861.2.18
by Alexander Belchenko
Makefile: cross-platform actions for building installer |
174 |
python tools/win32/ostools.py remove build |
175 |
python tools/win32/ostools.py remove win32_bzr.exe |
|
176 |
python tools/win32/ostools.py remove py2exe.log |
|
177 |
python tools/win32/ostools.py remove tools/win32/bzr.iss |
|
178 |
python tools/win32/ostools.py remove bzr-setup*.exe |
|
2245.4.5
by Alexander Belchenko
bzr-win32-bdist-postinstall.py: good win98 support |
179 |
python tools/win32/ostools.py remove bzr-*win32.exe |
1861.2.18
by Alexander Belchenko
Makefile: cross-platform actions for building installer |
180 |
python tools/win32/ostools.py remove dist |