xref: /openbmc/qemu/python/Makefile (revision 205d7219)
1.PHONY: help
2help:
3	@echo "python packaging help:"
4	@echo ""
5	@echo "make check-pipenv:"
6	@echo "    Run tests in pipenv's virtual environment."
7	@echo "    These tests use the oldest dependencies."
8	@echo "    Requires: Python 3.6 and pipenv."
9	@echo "    Hint (Fedora): 'sudo dnf install python3.6 pipenv'"
10	@echo ""
11	@echo "make check-tox:"
12	@echo "    Run tests against multiple python versions."
13	@echo "    These tests use the newest dependencies."
14	@echo "    Requires: Python 3.6 - 3.10, and tox."
15	@echo "    Hint (Fedora): 'sudo dnf install python3-tox python3.10'"
16	@echo ""
17	@echo "make develop:    Install deps for 'make check', and"
18	@echo "                 the qemu libs in editable/development mode."
19	@echo ""
20	@echo "make check:      run linters using the current environment."
21	@echo ""
22	@echo "make pipenv"
23	@echo "    Creates pipenv's virtual environment (.venv)"
24	@echo ""
25	@echo "make clean:      remove package build output."
26	@echo ""
27	@echo "make distclean:  remove venv files, qemu package forwarder,"
28	@echo "                 built distribution files, and everything"
29	@echo "                 from 'make clean'."
30
31.PHONY: pipenv
32pipenv: .venv
33.venv: Pipfile.lock
34	@PIPENV_VENV_IN_PROJECT=1 pipenv sync --dev --keep-outdated
35	@touch .venv
36
37.PHONY: check-pipenv
38check-pipenv: pipenv
39	@pipenv run make check
40
41.PHONY: develop
42develop:
43	pip3 install -e .[devel]
44
45.PHONY: check
46check:
47	@avocado --config avocado.cfg run tests/
48
49.PHONY: check-tox
50check-tox:
51	@tox
52
53.PHONY: clean
54clean:
55	python3 setup.py clean --all
56
57.PHONY: distclean
58distclean: clean
59	rm -rf qemu.egg-info/ .venv/ .tox/ dist/
60