-
Notifications
You must be signed in to change notification settings - Fork 7
/
Makefile
105 lines (83 loc) · 2.4 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
RM = rm -rf
PKG_NAME=pyoauth
.PHONY: all clean distclean develop lint test upload-doc view-doc doc docs build dist release auto submodules push
all: build
help:
@echo "Possible targets:"
@echo " test - run testsuite"
@echo " doc(s) - builds the documentation"
@echo " view-doc - opens documentation in the browser"
@echo " upload-doc - uploads the documentation to PyPI"
@echo " develop - set up development environment"
@echo " clean - clean up generated files"
@echo " release - performs a release"
@echo " auto - continuous builds"
@echo " push - 'git push' to all hosted repositories"
release: clean test upload-doc
python setup.py sdist upload
dist: clean
python setup.py sdist
build: doc
@bin/python setup.py build
doc-rebuild:
@make -C docs/ clean
@make SPHINXBUILD=../bin/sphinx-build -C docs/ html
docs: doc
doc: # develop
@make SPHINXBUILD=../bin/sphinx-build -C docs/ html
upload-doc: doc
@bin/python setup.py upload_docs --upload-dir=docs/build/html
view-doc: doc
@bin/python -c "import webbrowser; webbrowser.open('docs/build/html/index.html')"
test: doc-rebuild
@echo "You will need Coverage 3.5 and unittest2 or higher for this to work."
@bin/coverage erase
@bin/coverage run run_tests.py
@bin/coverage report -m
@echo "HTML report generated in the 'htmlcov' directory."
@bin/coverage html -d htmlcov
lint:
@pylint $(PKG_NAME)
auto: tools/nosy.py
@bin/python tools/nosy.py .
# Development environment targets and dependencies.
develop: submodules bin/python
submodules:
@git submodule update --init --recursive
bin/buildout: buildout.cfg setup.py
@python tools/bootstrap.py --distribute
bin/python: bin/buildout
@bin/buildout
push:
@echo "Pushing repository to remote:google [code.google.com]"
@git push google master
@echo "Pushing repository to remote:github [github.com]"
@git push github master
clean:
@make -C docs/ clean > /dev/null
@$(RM) build/ *.egg-info/
@find . \( \
-iname "*.pyc" \
-or -iname "*.pyo" \
-or -iname "*.so" \
-or -iname "*.o" \
-or -iname "*~" \
-or -iname "._*" \
-or -iname "*.swp" \
-or -iname "Desktop.ini" \
-or -iname "Thumbs.db" \
-or -iname "__MACOSX__" \
-or -iname ".DS_Store" \
\) -delete
distclean: clean
@$(RM) \
dist/ \
bin/ \
develop-eggs/ \
eggs/ \
parts/ \
MANIFEST \
htmlcov/ \
.pythoscope/ \
.coverage \
.installed.cfg