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