xref: /openbmc/qemu/python/Makefile (revision 205d7219f3ba9971149b6fa45a155866d9e889db)
1*205d7219SJohn Snow.PHONY: help
26560379fSJohn Snowhelp:
36560379fSJohn Snow	@echo "python packaging help:"
46560379fSJohn Snow	@echo ""
56f84d726SJohn Snow	@echo "make check-pipenv:"
66f84d726SJohn Snow	@echo "    Run tests in pipenv's virtual environment."
76f84d726SJohn Snow	@echo "    These tests use the oldest dependencies."
86f84d726SJohn Snow	@echo "    Requires: Python 3.6 and pipenv."
96f84d726SJohn Snow	@echo "    Hint (Fedora): 'sudo dnf install python3.6 pipenv'"
106560379fSJohn Snow	@echo ""
118c95d0fcSJohn Snow	@echo "make check-tox:"
128c95d0fcSJohn Snow	@echo "    Run tests against multiple python versions."
138c95d0fcSJohn Snow	@echo "    These tests use the newest dependencies."
148c95d0fcSJohn Snow	@echo "    Requires: Python 3.6 - 3.10, and tox."
158c95d0fcSJohn Snow	@echo "    Hint (Fedora): 'sudo dnf install python3-tox python3.10'"
168c95d0fcSJohn Snow	@echo ""
176560379fSJohn Snow	@echo "make develop:    Install deps for 'make check', and"
186560379fSJohn Snow	@echo "                 the qemu libs in editable/development mode."
196560379fSJohn Snow	@echo ""
206560379fSJohn Snow	@echo "make check:      run linters using the current environment."
216560379fSJohn Snow	@echo ""
226f84d726SJohn Snow	@echo "make pipenv"
236f84d726SJohn Snow	@echo "    Creates pipenv's virtual environment (.venv)"
246f84d726SJohn Snow	@echo ""
256560379fSJohn Snow	@echo "make clean:      remove package build output."
266560379fSJohn Snow	@echo ""
276560379fSJohn Snow	@echo "make distclean:  remove venv files, qemu package forwarder,"
286560379fSJohn Snow	@echo "                 built distribution files, and everything"
296560379fSJohn Snow	@echo "                 from 'make clean'."
306560379fSJohn Snow
31*205d7219SJohn Snow.PHONY: pipenv
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
37*205d7219SJohn Snow.PHONY: check-pipenv
386f84d726SJohn Snowcheck-pipenv: pipenv
396560379fSJohn Snow	@pipenv run make check
406560379fSJohn Snow
41*205d7219SJohn Snow.PHONY: develop
426560379fSJohn Snowdevelop:
436560379fSJohn Snow	pip3 install -e .[devel]
446560379fSJohn Snow
45*205d7219SJohn Snow.PHONY: check
466560379fSJohn Snowcheck:
476560379fSJohn Snow	@avocado --config avocado.cfg run tests/
486560379fSJohn Snow
49*205d7219SJohn Snow.PHONY: check-tox
503c8de38cSJohn Snowcheck-tox:
513c8de38cSJohn Snow	@tox
523c8de38cSJohn Snow
53*205d7219SJohn Snow.PHONY: clean
546560379fSJohn Snowclean:
556560379fSJohn Snow	python3 setup.py clean --all
566560379fSJohn Snow
57*205d7219SJohn Snow.PHONY: distclean
586560379fSJohn Snowdistclean: clean
593c8de38cSJohn Snow	rm -rf qemu.egg-info/ .venv/ .tox/ dist/
60