-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
137 lines (114 loc) · 2.88 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
130
131
132
133
134
135
136
137
# IMPORTANT: for compatibility with `python setup.py make [alias]`, ensure:
# 1. Every alias is preceded by @[+]make (eg: @make alias)
# 2. A maximum of one @make alias or command per line
# 3. Only use tabs, not spaces to indent (compatibility with linux make)
#
# Sample makefile compatible with `python setup.py make`:
#```
#all:
# @make test
# @make install
#test:
# nosetest
#install:
# python setup.py install
#```
.PHONY:
alltests
all
flake8
test
testnose
testsetup
testcoverage
testperf
testtimer
distclean
coverclean
prebuildclean
clean
installdev
install
build
pypimeta
pypi
none
help:
@python setup.py make
alltests:
@+make testcoverage
@+make testperf
@+make flake8
@+make testsetup
all:
@+make alltests
@+make build
flake8:
@+flake8 --max-line-length=80 --count --statistics --exit-zero -j 8 --exclude .asv,.tox .
test:
tox --skip-missing-interpreters
testnose:
nosetests tqdm -d -v
testsetup:
python setup.py check --restructuredtext --strict
python setup.py make none
testcoverage:
@make coverclean
nosetests tqdm --with-coverage --cover-package=tqdm --cover-erase --cover-min-percentage=80 --ignore-files="tests_perf\.py" -d -v
testperf:
# do not use coverage (which is extremely slow)
nosetests tqdm/tests/tests_perf.py -d -v
testtimer:
nosetests tqdm --with-timer -d -v
# another performance test, to check evolution across commits
testasv:
# Test only the last 3 commits (quick test)
asv run -j 8 HEAD~3..HEAD
@make viewasv
testasvfull:
# Test all the commits since the beginning (full test)
asv run -j 8 v1.0.0..master
@make testasv
viewasv:
asv publish
asv preview
tqdm.1: tqdm.1.md
python -m tqdm --help | tail -n+5 | cat "$<" - |\
sed -r 's/^ (--.*)=<(.*)> : (.*)$$/\n\\\1=*\2*\n: \3./' |\
sed -r 's/ (-.*, --.*) /\n\1\n: /' |\
pandoc -o "$@" -s -t man
distclean:
@+make coverclean
@+make prebuildclean
@+make clean
prebuildclean:
@+python -c "import shutil; shutil.rmtree('build', True)"
@+python -c "import shutil; shutil.rmtree('dist', True)"
@+python -c "import shutil; shutil.rmtree('tqdm.egg-info', True)"
coverclean:
@+python -c "import os, glob; [os.remove(i) for i in glob.glob('.coverage')]"
clean:
@+python -c "import os, glob; [os.remove(i) for i in glob.glob('*.py[co]')]"
@+python -c "import os, glob; [os.remove(i) for i in glob.glob('tqdm/*.py[co]')]"
@+python -c "import os, glob; [os.remove(i) for i in glob.glob('tqdm/tests/*.py[co]')]"
@+python -c "import os, glob; [os.remove(i) for i in glob.glob('tqdm/examples/*.py[co]')]"
installdev:
python setup.py develop --uninstall
python setup.py develop
install:
python setup.py install
build:
@make prebuildclean
python setup.py sdist --formats=gztar,zip bdist_wheel
python setup.py bdist_wininst
pypimeta:
python setup.py register
pypi:
twine upload dist/*
buildupload:
@make testsetup
@make build
@make pypimeta
@make pypi
none:
# used for unit testing