2
QEMU_MINVENV_DIR=.min-venv
7
@echo "python packaging help:"
9
@echo "make check-minreqs:"
10
@echo " Run tests in the minreqs virtual environment."
11
@echo " These tests use the oldest dependencies."
12
@echo " Requires: Python 3.8"
13
@echo " Hint (Fedora): 'sudo dnf install python3.8'"
15
@echo "make check-tox:"
16
@echo " Run tests against multiple python versions."
17
@echo " These tests use the newest dependencies."
18
@echo " Requires: Python 3.8 - 3.11, and tox."
19
@echo " Hint (Fedora): 'sudo dnf install python3-tox python3.11'"
20
@echo " The variable QEMU_TOX_EXTRA_ARGS can be use to pass extra"
21
@echo " arguments to tox".
23
@echo "make check-dev:"
24
@echo " Run tests in a venv against your default python3 version."
25
@echo " These tests use the newest dependencies."
26
@echo " Requires: Python 3.x"
29
@echo " Run tests in your *current environment*."
30
@echo " Performs no environment setup of any kind."
33
@echo " Install deps needed for 'make check',"
34
@echo " and install the qemu package in editable mode."
35
@echo " (Can be used in or outside of a venv.)"
38
@echo " Creates the minreqs virtual environment ($(QEMU_MINVENV_DIR))"
41
@echo " Creates a simple venv for check-dev. ($(QEMU_VENV_DIR))"
44
@echo " Remove package build output."
46
@echo "make distclean:"
47
@echo " remove venv files, qemu package forwarder,"
48
@echo " built distribution files, and everything from 'make clean'."
50
@echo -e "Have a nice day ^_^\n"
52
.PHONY: pipenv check-pipenv
54
@echo "pipenv was dropped; try 'make check-minreqs' or 'make min-venv'"
57
PIP_INSTALL = pip install --disable-pip-version-check
59
min-venv: $(QEMU_MINVENV_DIR) $(QEMU_MINVENV_DIR)/bin/activate
60
$(QEMU_MINVENV_DIR) $(QEMU_MINVENV_DIR)/bin/activate: setup.cfg tests/minreqs.txt
61
@echo "VENV $(QEMU_MINVENV_DIR)"
62
@python3.8 -m venv $(QEMU_MINVENV_DIR)
64
echo "ACTIVATE $(QEMU_MINVENV_DIR)"; \
65
. $(QEMU_MINVENV_DIR)/bin/activate; \
66
echo "INSTALL wheel $(QEMU_MINVENV_DIR)"; \
67
$(PIP_INSTALL) wheel 1>/dev/null; \
68
echo "INSTALL -r tests/minreqs.txt $(QEMU_MINVENV_DIR)";\
69
$(PIP_INSTALL) -r tests/minreqs.txt 1>/dev/null; \
70
echo "INSTALL -e qemu $(QEMU_MINVENV_DIR)"; \
71
$(PIP_INSTALL) -e . 1>/dev/null; \
73
@touch $(QEMU_MINVENV_DIR)
76
check-minreqs: min-venv
78
echo "ACTIVATE $(QEMU_MINVENV_DIR)"; \
79
. $(QEMU_MINVENV_DIR)/bin/activate; \
84
dev-venv: $(QEMU_VENV_DIR) $(QEMU_VENV_DIR)/bin/activate
85
$(QEMU_VENV_DIR) $(QEMU_VENV_DIR)/bin/activate: setup.cfg
86
@echo "VENV $(QEMU_VENV_DIR)"
87
@python3 -m venv $(QEMU_VENV_DIR)
89
echo "ACTIVATE $(QEMU_VENV_DIR)"; \
90
. $(QEMU_VENV_DIR)/bin/activate; \
91
echo "INSTALL qemu[devel] $(QEMU_VENV_DIR)"; \
92
make develop 1>/dev/null; \
94
@touch $(QEMU_VENV_DIR)
99
echo "ACTIVATE $(QEMU_VENV_DIR)"; \
100
. $(QEMU_VENV_DIR)/bin/activate; \
106
$(PIP_INSTALL) -e .[devel]
110
@avocado --config avocado.cfg run tests/
114
@tox $(QEMU_TOX_EXTRA_ARGS)
116
.PHONY: check-coverage
118
@coverage run -m avocado --config avocado.cfg run tests/*.py
125
python3 setup.py clean --all
130
rm -rf qemu.egg-info/ .eggs/ dist/
131
rm -rf $(QEMU_VENV_DIR) $(QEMU_MINVENV_DIR) .tox/
132
rm -f .coverage .coverage.*