12c24d52dSJohn SnowQEMU_VENV_DIR=.dev-venv 22c24d52dSJohn 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 "" 192c24d52dSJohn Snow @echo "make check-dev:" 202c24d52dSJohn Snow @echo " Run tests in a venv against your default python3 version." 212c24d52dSJohn Snow @echo " These tests use the newest dependencies." 222c24d52dSJohn Snow @echo " Requires: Python 3.x" 232c24d52dSJohn Snow @echo "" 2428cd32fbSJohn Snow @echo "make check:" 2528cd32fbSJohn Snow @echo " Run tests in your *current environment*." 2628cd32fbSJohn Snow @echo " Performs no environment setup of any kind." 276560379fSJohn Snow @echo "" 2828cd32fbSJohn Snow @echo "make develop:" 2928cd32fbSJohn Snow @echo " Install deps needed for for 'make check'," 3028cd32fbSJohn Snow @echo " and install the qemu package in editable mode." 3128cd32fbSJohn Snow @echo " (Can be used in or outside of a venv.)" 326560379fSJohn Snow @echo "" 336f84d726SJohn Snow @echo "make pipenv" 346f84d726SJohn Snow @echo " Creates pipenv's virtual environment (.venv)" 356f84d726SJohn Snow @echo "" 362c24d52dSJohn Snow @echo "make dev-venv" 372c24d52dSJohn Snow @echo " Creates a simple venv for check-dev. ($(QEMU_VENV_DIR))" 382c24d52dSJohn Snow @echo "" 3950d0fba8SJohn Snow @echo "make clean:" 4050d0fba8SJohn Snow @echo " Remove package build output." 416560379fSJohn Snow @echo "" 4250d0fba8SJohn Snow @echo "make distclean:" 4350d0fba8SJohn Snow @echo " remove pipenv/venv files, qemu package forwarder," 4450d0fba8SJohn Snow @echo " built distribution files, and everything from 'make clean'." 4550d0fba8SJohn Snow @echo "" 4650d0fba8SJohn Snow @echo -e "Have a nice day ^_^\n" 476560379fSJohn Snow 48205d7219SJohn Snow.PHONY: pipenv 496f84d726SJohn Snowpipenv: .venv 506560379fSJohn Snow.venv: Pipfile.lock 516560379fSJohn Snow @PIPENV_VENV_IN_PROJECT=1 pipenv sync --dev --keep-outdated 52*19cf0031SJohn Snow rm -f pyproject.toml 536560379fSJohn Snow @touch .venv 546560379fSJohn Snow 55205d7219SJohn Snow.PHONY: check-pipenv 566f84d726SJohn Snowcheck-pipenv: pipenv 576560379fSJohn Snow @pipenv run make check 586560379fSJohn Snow 592c24d52dSJohn Snow.PHONY: dev-venv 602c24d52dSJohn Snowdev-venv: $(QEMU_VENV_DIR) $(QEMU_VENV_DIR)/bin/activate 612c24d52dSJohn Snow$(QEMU_VENV_DIR) $(QEMU_VENV_DIR)/bin/activate: setup.cfg 622c24d52dSJohn Snow @echo "VENV $(QEMU_VENV_DIR)" 632c24d52dSJohn Snow @python3 -m venv $(QEMU_VENV_DIR) 642c24d52dSJohn Snow @( \ 652c24d52dSJohn Snow echo "ACTIVATE $(QEMU_VENV_DIR)"; \ 662c24d52dSJohn Snow . $(QEMU_VENV_DIR)/bin/activate; \ 672c24d52dSJohn Snow echo "INSTALL qemu[devel] $(QEMU_VENV_DIR)"; \ 682c24d52dSJohn Snow make develop 1>/dev/null; \ 692c24d52dSJohn Snow ) 702c24d52dSJohn Snow @touch $(QEMU_VENV_DIR) 712c24d52dSJohn Snow 722c24d52dSJohn Snow.PHONY: check-dev 732c24d52dSJohn Snowcheck-dev: dev-venv 742c24d52dSJohn Snow @( \ 752c24d52dSJohn Snow echo "ACTIVATE $(QEMU_VENV_DIR)"; \ 762c24d52dSJohn Snow . $(QEMU_VENV_DIR)/bin/activate; \ 772c24d52dSJohn Snow make check; \ 782c24d52dSJohn Snow ) 792c24d52dSJohn Snow 80205d7219SJohn Snow.PHONY: develop 816560379fSJohn Snowdevelop: 822c24d52dSJohn Snow pip3 install --disable-pip-version-check -e .[devel] 836560379fSJohn Snow 84205d7219SJohn Snow.PHONY: check 856560379fSJohn Snowcheck: 866560379fSJohn Snow @avocado --config avocado.cfg run tests/ 876560379fSJohn Snow 88205d7219SJohn Snow.PHONY: check-tox 893c8de38cSJohn Snowcheck-tox: 903c8de38cSJohn Snow @tox 913c8de38cSJohn Snow 92205d7219SJohn Snow.PHONY: clean 936560379fSJohn Snowclean: 946560379fSJohn Snow python3 setup.py clean --all 95*19cf0031SJohn Snow rm -f pyproject.toml 966560379fSJohn Snow 97205d7219SJohn Snow.PHONY: distclean 986560379fSJohn Snowdistclean: clean 992c24d52dSJohn Snow rm -rf qemu.egg-info/ .venv/ .tox/ $(QEMU_VENV_DIR) dist/ 100