1*2c24d52dSJohn SnowQEMU_VENV_DIR=.dev-venv 2*2c24d52dSJohn Snow 3205d7219SJohn Snow.PHONY: help 46560379fSJohn Snowhelp: 56560379fSJohn Snow @echo "python packaging help:" 66560379fSJohn Snow @echo "" 76f84d726SJohn Snow @echo "make check-pipenv:" 86f84d726SJohn Snow @echo " Run tests in pipenv's virtual environment." 96f84d726SJohn Snow @echo " These tests use the oldest dependencies." 106f84d726SJohn Snow @echo " Requires: Python 3.6 and pipenv." 116f84d726SJohn Snow @echo " Hint (Fedora): 'sudo dnf install python3.6 pipenv'" 126560379fSJohn Snow @echo "" 138c95d0fcSJohn Snow @echo "make check-tox:" 148c95d0fcSJohn Snow @echo " Run tests against multiple python versions." 158c95d0fcSJohn Snow @echo " These tests use the newest dependencies." 168c95d0fcSJohn Snow @echo " Requires: Python 3.6 - 3.10, and tox." 178c95d0fcSJohn Snow @echo " Hint (Fedora): 'sudo dnf install python3-tox python3.10'" 188c95d0fcSJohn Snow @echo "" 19*2c24d52dSJohn Snow @echo "make check-dev:" 20*2c24d52dSJohn Snow @echo " Run tests in a venv against your default python3 version." 21*2c24d52dSJohn Snow @echo " These tests use the newest dependencies." 22*2c24d52dSJohn Snow @echo " Requires: Python 3.x" 23*2c24d52dSJohn Snow @echo "" 246560379fSJohn Snow @echo "make develop: Install deps for 'make check', and" 256560379fSJohn Snow @echo " the qemu libs in editable/development mode." 266560379fSJohn Snow @echo "" 276560379fSJohn Snow @echo "make check: run linters using the current environment." 286560379fSJohn Snow @echo "" 296f84d726SJohn Snow @echo "make pipenv" 306f84d726SJohn Snow @echo " Creates pipenv's virtual environment (.venv)" 316f84d726SJohn Snow @echo "" 32*2c24d52dSJohn Snow @echo "make dev-venv" 33*2c24d52dSJohn Snow @echo " Creates a simple venv for check-dev. ($(QEMU_VENV_DIR))" 34*2c24d52dSJohn Snow @echo "" 356560379fSJohn Snow @echo "make clean: remove package build output." 366560379fSJohn Snow @echo "" 376560379fSJohn Snow @echo "make distclean: remove venv files, qemu package forwarder," 386560379fSJohn Snow @echo " built distribution files, and everything" 396560379fSJohn Snow @echo " from 'make clean'." 406560379fSJohn Snow 41205d7219SJohn Snow.PHONY: pipenv 426f84d726SJohn Snowpipenv: .venv 436560379fSJohn Snow.venv: Pipfile.lock 446560379fSJohn Snow @PIPENV_VENV_IN_PROJECT=1 pipenv sync --dev --keep-outdated 456560379fSJohn Snow @touch .venv 466560379fSJohn Snow 47205d7219SJohn Snow.PHONY: check-pipenv 486f84d726SJohn Snowcheck-pipenv: pipenv 496560379fSJohn Snow @pipenv run make check 506560379fSJohn Snow 51*2c24d52dSJohn Snow.PHONY: dev-venv 52*2c24d52dSJohn Snowdev-venv: $(QEMU_VENV_DIR) $(QEMU_VENV_DIR)/bin/activate 53*2c24d52dSJohn Snow$(QEMU_VENV_DIR) $(QEMU_VENV_DIR)/bin/activate: setup.cfg 54*2c24d52dSJohn Snow @echo "VENV $(QEMU_VENV_DIR)" 55*2c24d52dSJohn Snow @python3 -m venv $(QEMU_VENV_DIR) 56*2c24d52dSJohn Snow @( \ 57*2c24d52dSJohn Snow echo "ACTIVATE $(QEMU_VENV_DIR)"; \ 58*2c24d52dSJohn Snow . $(QEMU_VENV_DIR)/bin/activate; \ 59*2c24d52dSJohn Snow echo "INSTALL qemu[devel] $(QEMU_VENV_DIR)"; \ 60*2c24d52dSJohn Snow make develop 1>/dev/null; \ 61*2c24d52dSJohn Snow ) 62*2c24d52dSJohn Snow @touch $(QEMU_VENV_DIR) 63*2c24d52dSJohn Snow 64*2c24d52dSJohn Snow.PHONY: check-dev 65*2c24d52dSJohn Snowcheck-dev: dev-venv 66*2c24d52dSJohn Snow @( \ 67*2c24d52dSJohn Snow echo "ACTIVATE $(QEMU_VENV_DIR)"; \ 68*2c24d52dSJohn Snow . $(QEMU_VENV_DIR)/bin/activate; \ 69*2c24d52dSJohn Snow make check; \ 70*2c24d52dSJohn Snow ) 71*2c24d52dSJohn Snow 72205d7219SJohn Snow.PHONY: develop 736560379fSJohn Snowdevelop: 74*2c24d52dSJohn Snow pip3 install --disable-pip-version-check -e .[devel] 756560379fSJohn Snow 76205d7219SJohn Snow.PHONY: check 776560379fSJohn Snowcheck: 786560379fSJohn Snow @avocado --config avocado.cfg run tests/ 796560379fSJohn Snow 80205d7219SJohn Snow.PHONY: check-tox 813c8de38cSJohn Snowcheck-tox: 823c8de38cSJohn Snow @tox 833c8de38cSJohn Snow 84205d7219SJohn Snow.PHONY: clean 856560379fSJohn Snowclean: 866560379fSJohn Snow python3 setup.py clean --all 876560379fSJohn Snow 88205d7219SJohn Snow.PHONY: distclean 896560379fSJohn Snowdistclean: clean 90*2c24d52dSJohn Snow rm -rf qemu.egg-info/ .venv/ .tox/ $(QEMU_VENV_DIR) dist/ 91