-
-
Notifications
You must be signed in to change notification settings - Fork 94
/
Copy pathMakefile
138 lines (107 loc) · 3.08 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
138
# Compatibility for us old-timers.
# Note: This makefile include remake-style target comments.
# These comments before the targets start with #:
# remake --tasks to shows the targets and the comments
GIT2CL ?= git2cl
PYTHON ?= python
RM ?= rm
LINT ?= flake8
PYTHONUTF8 ?= 1
#EXTRA_DIST=ipython/ipy_trepan.py trepan
PHONY= \
all \
check \
check-long \
check-pytest \
clean \
clean_pyc \
dist \
dist-newer \
dist-older \
distclean \
flake8 \
lint \
rmChangeLog \
test \
unittest
TEST_TYPES=check-full check-short check-2.7 check-3.4
#: Default target - same as "check"
all: check
#: Run all tests, exluding those that need pyenv
check: unittest
@PYTHON_VERSION=`$(PYTHON) -V 2>&1 | cut -d ' ' -f 2 | cut -d'.' -f1,2`; \
PYTHONUTF8=$(PYTHONUTF8) \
$(MAKE) -C test check
check-ci: unittest
@PYTHON_VERSION=`$(PYTHON) -V 2>&1 | cut -d ' ' -f 2 | cut -d'.' -f1,2`; \
$(MAKE) -C test check-ci
#: All tests including pyenv library tests
check-full: check
$(MAKE) -C test check-pyenv
#: Run all quick tests
check-short: unittest pytest
$(MAKE) -C test check-short
#: Run pytest tests
check-pytest unittest:
$(PYTHON) -m pytest pytest
#: Clean up temporary files and .pyc files
clean: clean_pyc
$(PYTHON) ./setup.py $@
find . -name __pycache__ -exec rm -fr {} \; || true
(cd test && $(MAKE) clean)
(cd test_unit && $(MAKE) clean)
#: Create source (tarball) and wheel distribution
dist: clean
$(PYTHON) ./setup.py sdist bdist_wheel
#: Create older distributions
dist-older:
bash ./admin-tools/make-dist-older.sh
#: Create newer distributions
dist-newer:
bash ./admin-tools/make-dist-newer.sh
#: Remove .pyc files
clean_pyc:
( cd xdis && $(RM) -f *.pyc */*.pyc )
#: Create source tarball
sdist:
$(PYTHON) ./setup.py sdist
#: Style check. Set env var LINT to pyflakes, flake, or flake8
lint: flake8
#: Check StructuredText long description formatting
check-rst:
$(PYTHON) setup.py --long-description | rst2html.py > xdis-trepan.html
#: Run tests across the newer Python versions supported
check-newer:
$(BASH) admin-tools/check-newer-versions.sh
#: Run tests across the older Python versions supported
check-older:
$(BASH) admin-tools/check-older-versions.sh
#: Lint program
flake8:
$(LINT) xdis
#: Create binary egg distribution
bdist_egg:
$(PYTHON) ./setup.py bdist_egg
#: Create binary wheel distribution
bdist_wheel:
$(PYTHON) ./setup.py bdist_wheel
# It is too much work to figure out how to add a new command to distutils
# to do the following. I'm sure distutils will someday get there.
DISTCLEAN_FILES = build dist *.pyc
#: Remove ALL derived files
distclean: clean
-rm -fvr $(DISTCLEAN_FILES) || true
-find . -name \*.pyc -exec rm -v {} \;
-find . -name \*.egg-info -exec rm -vr {} \;
#: Install package locally
verbose-install:
$(PYTHON) ./setup.py install
#: Install package locally without the verbiage
install:
$(PYTHON) ./setup.py install >/dev/null
rmChangeLog:
rm ChangeLog || true
#: Create a ChangeLog from git via git log and git2cl
ChangeLog: rmChangeLog
git log --pretty --numstat --summary | $(GIT2CL) >$@
.PHONY: $(PHONY)