1QEMU_VENV_DIR=.dev-venv 2 3.PHONY: help 4help: 5 @echo "python packaging help:" 6 @echo "" 7 @echo "make check-pipenv:" 8 @echo " Run tests in pipenv's virtual environment." 9 @echo " These tests use the oldest dependencies." 10 @echo " Requires: Python 3.6 and pipenv." 11 @echo " Hint (Fedora): 'sudo dnf install python3.6 pipenv'" 12 @echo "" 13 @echo "make check-tox:" 14 @echo " Run tests against multiple python versions." 15 @echo " These tests use the newest dependencies." 16 @echo " Requires: Python 3.6 - 3.10, and tox." 17 @echo " Hint (Fedora): 'sudo dnf install python3-tox python3.10'" 18 @echo "" 19 @echo "make check-dev:" 20 @echo " Run tests in a venv against your default python3 version." 21 @echo " These tests use the newest dependencies." 22 @echo " Requires: Python 3.x" 23 @echo "" 24 @echo "make check:" 25 @echo " Run tests in your *current environment*." 26 @echo " Performs no environment setup of any kind." 27 @echo "" 28 @echo "make develop:" 29 @echo " Install deps needed for for 'make check'," 30 @echo " and install the qemu package in editable mode." 31 @echo " (Can be used in or outside of a venv.)" 32 @echo "" 33 @echo "make pipenv" 34 @echo " Creates pipenv's virtual environment (.venv)" 35 @echo "" 36 @echo "make dev-venv" 37 @echo " Creates a simple venv for check-dev. ($(QEMU_VENV_DIR))" 38 @echo "" 39 @echo "make clean:" 40 @echo " Remove package build output." 41 @echo "" 42 @echo "make distclean:" 43 @echo " remove pipenv/venv files, qemu package forwarder," 44 @echo " built distribution files, and everything from 'make clean'." 45 @echo "" 46 @echo -e "Have a nice day ^_^\n" 47 48.PHONY: pipenv 49pipenv: .venv 50.venv: Pipfile.lock 51 @PIPENV_VENV_IN_PROJECT=1 pipenv sync --dev --keep-outdated 52 @touch .venv 53 54.PHONY: check-pipenv 55check-pipenv: pipenv 56 @pipenv run make check 57 58.PHONY: dev-venv 59dev-venv: $(QEMU_VENV_DIR) $(QEMU_VENV_DIR)/bin/activate 60$(QEMU_VENV_DIR) $(QEMU_VENV_DIR)/bin/activate: setup.cfg 61 @echo "VENV $(QEMU_VENV_DIR)" 62 @python3 -m venv $(QEMU_VENV_DIR) 63 @( \ 64 echo "ACTIVATE $(QEMU_VENV_DIR)"; \ 65 . $(QEMU_VENV_DIR)/bin/activate; \ 66 echo "INSTALL qemu[devel] $(QEMU_VENV_DIR)"; \ 67 make develop 1>/dev/null; \ 68 ) 69 @touch $(QEMU_VENV_DIR) 70 71.PHONY: check-dev 72check-dev: dev-venv 73 @( \ 74 echo "ACTIVATE $(QEMU_VENV_DIR)"; \ 75 . $(QEMU_VENV_DIR)/bin/activate; \ 76 make check; \ 77 ) 78 79.PHONY: develop 80develop: 81 pip3 install --disable-pip-version-check -e .[devel] 82 83.PHONY: check 84check: 85 @avocado --config avocado.cfg run tests/ 86 87.PHONY: check-tox 88check-tox: 89 @tox 90 91.PHONY: clean 92clean: 93 python3 setup.py clean --all 94 95.PHONY: distclean 96distclean: clean 97 rm -rf qemu.egg-info/ .venv/ .tox/ $(QEMU_VENV_DIR) dist/ 98