forked from pyimgui/pyimgui
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
61 lines (45 loc) · 1.62 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
.PHONY: help
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " clean to clean local environment from stale build files"
@echo " build to build and install for development"
@echo " rebuild to rebuild from scratch"
@echo " livedoc to serve live documentation"
@echo " bootstrap to bootstrap whole development environment"
@echo " completion to get detailed overview on completion progress"
@echo " coverage to run tests with coverage"
# note: empty recipe as alias for .bootstrapped target
bootstrap: .bootstrapped ;
.bootstrapped:
@echo "Bootstrapping project environment ..."
git submodule update --init
pip install -r doc/requirements-dev.txt
@touch .bootstrapped
.PHONY: clean
clean:
rm -rf imgui/*.cpp imgui/*.c imgui/*.h imgui/*.so build/*
.PHONY: build
build: bootstrap
_CYTHONIZE_WITH_COVERAGE=1 python -m pip install -e . -v
python ci/completion.py -o README.md with-pxd imgui/cimgui.pxd
.PHONY: rebuild
rebuild: clean build
@echo 'Done!'
.PHONY: livedoc
livedoc: build
sphinx-autobuild doc/source/ doc/build/html
.PHONY: coverage
coverage: build
coverage run --source imgui -m pytest
coverage report
coverage html
.PHONY: completion
completion:
_CYTHONIZE_WITH_COVERAGE=1 python -m pip install -e . -v
@python ci/completion.py missing `find build/ -name imgui.o -print -quit` `find build/ -name core.o -print -quit`
@python ci/completion.py with-nm `find build/ -name imgui.o -print -quit` `find build/ -name core.o -print -quit`
.PHONY: ditribute
distribute: clean
pip install -U Cython setuptools twine
python setup.py build
python setup.py sdist