1 QEMU_VENV_DIR
=.dev-venv
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.7"
13 @echo
" Hint (Fedora): 'sudo dnf install python3.7'"
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.7 - 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.7
-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.
*