xref: /openbmc/qemu/python/Makefile (revision 8c95d0fc7f905fb952818e934169a8abcc9a4c56)
16f84d726SJohn Snow.PHONY: help pipenv check-pipenv check clean distclean develop
26560379fSJohn Snow
36560379fSJohn Snowhelp:
46560379fSJohn Snow	@echo "python packaging help:"
56560379fSJohn Snow	@echo ""
66f84d726SJohn Snow	@echo "make check-pipenv:"
76f84d726SJohn Snow	@echo "    Run tests in pipenv's virtual environment."
86f84d726SJohn Snow	@echo "    These tests use the oldest dependencies."
96f84d726SJohn Snow	@echo "    Requires: Python 3.6 and pipenv."
106f84d726SJohn Snow	@echo "    Hint (Fedora): 'sudo dnf install python3.6 pipenv'"
116560379fSJohn Snow	@echo ""
12*8c95d0fcSJohn Snow	@echo "make check-tox:"
13*8c95d0fcSJohn Snow	@echo "    Run tests against multiple python versions."
14*8c95d0fcSJohn Snow	@echo "    These tests use the newest dependencies."
15*8c95d0fcSJohn Snow	@echo "    Requires: Python 3.6 - 3.10, and tox."
16*8c95d0fcSJohn Snow	@echo "    Hint (Fedora): 'sudo dnf install python3-tox python3.10'"
17*8c95d0fcSJohn Snow	@echo ""
186560379fSJohn Snow	@echo "make develop:    Install deps for 'make check', and"
196560379fSJohn Snow	@echo "                 the qemu libs in editable/development mode."
206560379fSJohn Snow	@echo ""
216560379fSJohn Snow	@echo "make check:      run linters using the current environment."
226560379fSJohn Snow	@echo ""
236f84d726SJohn Snow	@echo "make pipenv"
246f84d726SJohn Snow	@echo "    Creates pipenv's virtual environment (.venv)"
256f84d726SJohn Snow	@echo ""
266560379fSJohn Snow	@echo "make clean:      remove package build output."
276560379fSJohn Snow	@echo ""
286560379fSJohn Snow	@echo "make distclean:  remove venv files, qemu package forwarder,"
296560379fSJohn Snow	@echo "                 built distribution files, and everything"
306560379fSJohn Snow	@echo "                 from 'make clean'."
316560379fSJohn Snow
326f84d726SJohn Snowpipenv: .venv
336560379fSJohn Snow.venv: Pipfile.lock
346560379fSJohn Snow	@PIPENV_VENV_IN_PROJECT=1 pipenv sync --dev --keep-outdated
356560379fSJohn Snow	@touch .venv
366560379fSJohn Snow
376f84d726SJohn Snowcheck-pipenv: pipenv
386560379fSJohn Snow	@pipenv run make check
396560379fSJohn Snow
406560379fSJohn Snowdevelop:
416560379fSJohn Snow	pip3 install -e .[devel]
426560379fSJohn Snow
436560379fSJohn Snowcheck:
446560379fSJohn Snow	@avocado --config avocado.cfg run tests/
456560379fSJohn Snow
463c8de38cSJohn Snowcheck-tox:
473c8de38cSJohn Snow	@tox
483c8de38cSJohn Snow
496560379fSJohn Snowclean:
506560379fSJohn Snow	python3 setup.py clean --all
516560379fSJohn Snow
526560379fSJohn Snowdistclean: clean
533c8de38cSJohn Snow	rm -rf qemu.egg-info/ .venv/ .tox/ dist/
54