Merge remote-tracking branch 'comet-ml/line-ending-convert-support'
[jelmer/dulwich.git] / Makefile
1 PYTHON = python -Werror
2 PYFLAKES = pyflakes
3 PEP8 = pep8
4 FLAKE8 ?= flake8
5 SETUP = $(PYTHON) setup.py
6 TESTRUNNER ?= unittest
7 RUNTEST = PYTHONHASHSEED=random PYTHONPATH=$(shell pwd)$(if $(PYTHONPATH),:$(PYTHONPATH),) $(PYTHON) -m $(TESTRUNNER) $(TEST_OPTIONS)
8 COVERAGE = python3-coverage
9
10 DESTDIR=/
11
12 all: build
13
14 doc:: sphinx
15
16 sphinx::
17         $(MAKE) -C docs html
18
19 build::
20         $(SETUP) build
21         $(SETUP) build_ext -i
22
23 install::
24         $(SETUP) install --root="$(DESTDIR)"
25
26 check:: build
27         $(RUNTEST) dulwich.tests.test_suite
28
29 check-tutorial:: build
30         $(RUNTEST) dulwich.tests.tutorial_test_suite
31
32 check-nocompat:: build
33         $(RUNTEST) dulwich.tests.nocompat_test_suite
34
35 check-compat:: build
36         $(RUNTEST) dulwich.tests.compat_test_suite
37
38 check-pypy:: clean
39         $(MAKE) check-noextensions PYTHON=pypy
40
41 check-noextensions:: clean
42         $(RUNTEST) dulwich.tests.test_suite
43
44 check-all: check check-pypy check-noextensions
45
46 clean::
47         $(SETUP) clean --all
48         rm -f dulwich/*.so
49
50 flakes:
51         $(PYFLAKES) dulwich
52
53 pep8:
54         $(PEP8) dulwich
55
56 style:
57         $(FLAKE8)
58
59 before-push: check
60         git diff origin/master | $(PEP8) --diff
61
62 coverage:
63         $(COVERAGE) run -m unittest dulwich.tests.test_suite dulwich.contrib.test_suite
64
65 coverage-html: coverage
66         $(COVERAGE) html