caeb77f37dfbd848577667cd48a1f7e71887648e
[jelmer/subvertpy.git] / Makefile
1 DEBUGGER ?= 
2 BZR ?= $(shell which bzr)
3 PYTHON ?= $(shell which python)
4 SETUP ?= ./setup.py
5 PYDOCTOR ?= pydoctor
6 CTAGS ?= ctags
7 PYLINT ?= pylint
8 RST2HTML ?= rst2html
9 TESTS ?= svn
10
11 all:: build
12
13 build::
14         $(SETUP) build
15
16 build-inplace::
17         $(SETUP) build_ext --inplace
18
19 install::
20         $(SETUP) install
21
22 clean::
23         $(SETUP) clean
24
25 TMP_PLUGINS_DIR = $(shell pwd)/.plugins
26
27 $(TMP_PLUGINS_DIR):
28         mkdir -p $@
29
30 $(TMP_PLUGINS_DIR)/svn: $(TMP_PLUGINS_DIR)
31         ln -sf .. $@
32
33 check:: build-inplace $(TMP_PLUGINS_DIR)/svn 
34         BZR_PLUGIN_PATH=$(TMP_PLUGINS_DIR) $(DEBUGGER) $(PYTHON) $(BZR) selftest $(TEST_OPTIONS) $(TESTS)
35
36 check-verbose::
37         $(MAKE) check TEST_OPTIONS=-v
38
39 check-one::
40         $(MAKE) check TEST_OPTIONS=--one
41
42 show-plugins::
43         BZR_PLUGIN_PATH=$(TMP_PLUGINS_DIR) $(BZR) plugins
44
45 lint::
46         $(PYLINT) -f parseable *.py */*.py
47
48 pydoctor::
49         $(PYDOCTOR) --make-html -c bzr-svn.cfg
50
51 FAQ.html README.html: %.html: %
52         $(RST2HTML) $< > $@
53
54 tags::
55         $(CTAGS) -R .
56
57 ctags:: tags