-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathMakefile
130 lines (103 loc) · 2.58 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
.PHONY: clean-pyc clean-build docs clean
PYTHON := python2.7
# ---------------------------------------------------------
#
# help
#
help:
@echo "clean - remove all build, test, coverage and Python artifacts"
@echo "clean-build - remove build artifacts"
@echo "clean-pyc - remove Python file artifacts"
@echo "clean-test - remove test and coverage artifacts"
@echo "lint - check style with pyflakes"
@echo "flake8 - check with flake8"
@echo "clonedigger - check with clonedigger"
@echo "pyntch - check with pyntch"
@echo "test - run tests quickly with the default Python"
@echo "test-all - run tests on every Python version with tox"
@echo "coverage - check code coverage quickly with the default Python"
@echo "docs - generate Sphinx HTML documentation, including API docs"
@echo "release - package and upload a release"
@echo "dist - package"
# ---------------------------------------------------------
#
# clean
#
clean: clean-build clean-pyc clean-test
clean-build:
rm -fr build/
rm -fr dist/
rm -fr *.egg-info
clean-pyc:
find . -name '*.pyc' -exec rm -f {} +
find . -name '*.pyo' -exec rm -f {} +
find . -name '*~' -exec rm -f {} +
find . -name '__pycache__' -exec rm -fr {} +
clean-test:
rm -fr .tox/
rm -f .coverage
rm -fr htmlcov/
# ---------------------------------------------------------
#
# lint
#
flakes: lint
lint:
flake8 tsip/*.py tests/*.py
# ---------------------------------------------------------
#
# test
#
test:
nosetests -x -v tests/test_structs.py tests/test_llapi.py tests/test_hlapi.py
test_llapi:
nosetests -x -v tests/[email protected]
test_hlapi:
nosetests -x -v tests/[email protected]
tox:
tox
#coverage:
# coverage run --source python-TSIP setup.py test
# coverage report -m
# coverage html
# open htmlcov/index.html
docs:
# rm -f docs/python-TSIP.rst
# rm -f docs/modules.rst
# sphinx-apidoc -o docs/ python-TSIP
# $(MAKE) -C docs clean
# $(MAKE) -C docs html
# open docs/_build/html/index.html
.PHONY: sdist
sdist:
$(PYTHON) setup.py $@
.PHONY: bdist
bdist:
$(PYTHON) setup.py $@
.PHONY: rpm
rpm:
# native python version
python setup.py bdist_rpm
.PHONY: wheel
wheel:
$(PYTHON) setup.py bdist_wheel --universal
.PHONY: info
info:
$(PYTHON) setup.py egg_info
.PHONY: build
build:
$(PYTHON) setup.py build
.PHONY:
upload: clean sdist wheel
twine upload dist/*
# Code test tools
#
.PHONY: clonedigger
clonedigger:
clonedigger -l python -o clonedigger.html tsip
.PHONY: flake8
flake8:
flake8 --statistics --exit-zero tsip
.PHONY: pyntch
pyntch:
tchecker.py tsip/*.py