Files
xemu/python/Makefile
T

95 lines
2.6 KiB
Makefile
Raw Normal View History

2021-06-29 17:43:19 -04:00
QEMU_VENV_DIR=.dev-venv
2021-06-29 17:43:17 -04:00
.PHONY: help
2021-05-27 17:17:12 -04:00
help:
@echo "python packaging help:"
@echo ""
@echo "make check-pipenv:"
@echo " Run tests in pipenv's virtual environment."
@echo " These tests use the oldest dependencies."
@echo " Requires: Python 3.6 and pipenv."
@echo " Hint (Fedora): 'sudo dnf install python3.6 pipenv'"
2021-05-27 17:17:12 -04:00
@echo ""
2021-06-29 17:43:16 -04:00
@echo "make check-tox:"
@echo " Run tests against multiple python versions."
@echo " These tests use the newest dependencies."
@echo " Requires: Python 3.6 - 3.10, and tox."
@echo " Hint (Fedora): 'sudo dnf install python3-tox python3.10'"
@echo ""
2021-06-29 17:43:19 -04:00
@echo "make check-dev:"
@echo " Run tests in a venv against your default python3 version."
@echo " These tests use the newest dependencies."
@echo " Requires: Python 3.x"
@echo ""
@echo "make check:"
@echo " Run tests in your *current environment*."
@echo " Performs no environment setup of any kind."
2021-05-27 17:17:12 -04:00
@echo ""
@echo "make develop:"
@echo " Install deps needed for for 'make check',"
@echo " and install the qemu package in editable mode."
@echo " (Can be used in or outside of a venv.)"
2021-05-27 17:17:12 -04:00
@echo ""
@echo "make pipenv"
@echo " Creates pipenv's virtual environment (.venv)"
@echo ""
2021-06-29 17:43:19 -04:00
@echo "make dev-venv"
@echo " Creates a simple venv for check-dev. ($(QEMU_VENV_DIR))"
@echo ""
2021-05-27 17:17:12 -04:00
@echo "make clean: remove package build output."
@echo ""
@echo "make distclean: remove venv files, qemu package forwarder,"
@echo " built distribution files, and everything"
@echo " from 'make clean'."
2021-06-29 17:43:17 -04:00
.PHONY: pipenv
pipenv: .venv
2021-05-27 17:17:12 -04:00
.venv: Pipfile.lock
@PIPENV_VENV_IN_PROJECT=1 pipenv sync --dev --keep-outdated
@touch .venv
2021-06-29 17:43:17 -04:00
.PHONY: check-pipenv
check-pipenv: pipenv
2021-05-27 17:17:12 -04:00
@pipenv run make check
2021-06-29 17:43:19 -04:00
.PHONY: dev-venv
dev-venv: $(QEMU_VENV_DIR) $(QEMU_VENV_DIR)/bin/activate
$(QEMU_VENV_DIR) $(QEMU_VENV_DIR)/bin/activate: setup.cfg
@echo "VENV $(QEMU_VENV_DIR)"
@python3 -m venv $(QEMU_VENV_DIR)
@( \
echo "ACTIVATE $(QEMU_VENV_DIR)"; \
. $(QEMU_VENV_DIR)/bin/activate; \
echo "INSTALL qemu[devel] $(QEMU_VENV_DIR)"; \
make develop 1>/dev/null; \
)
@touch $(QEMU_VENV_DIR)
.PHONY: check-dev
check-dev: dev-venv
@( \
echo "ACTIVATE $(QEMU_VENV_DIR)"; \
. $(QEMU_VENV_DIR)/bin/activate; \
make check; \
)
2021-06-29 17:43:17 -04:00
.PHONY: develop
2021-05-27 17:17:12 -04:00
develop:
2021-06-29 17:43:19 -04:00
pip3 install --disable-pip-version-check -e .[devel]
2021-05-27 17:17:12 -04:00
2021-06-29 17:43:17 -04:00
.PHONY: check
2021-05-27 17:17:12 -04:00
check:
@avocado --config avocado.cfg run tests/
2021-06-29 17:43:17 -04:00
.PHONY: check-tox
2021-05-27 17:17:14 -04:00
check-tox:
@tox
2021-06-29 17:43:17 -04:00
.PHONY: clean
2021-05-27 17:17:12 -04:00
clean:
python3 setup.py clean --all
2021-06-29 17:43:17 -04:00
.PHONY: distclean
2021-05-27 17:17:12 -04:00
distclean: clean
2021-06-29 17:43:19 -04:00
rm -rf qemu.egg-info/ .venv/ .tox/ $(QEMU_VENV_DIR) dist/