mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 04:06:46 +00:00 
			
		
		
		
	 43a1119ef1
			
		
	
	
		43a1119ef1
		
	
	
	
	
		
			
			This reverts commit 1e4d8b31be.
Signed-off-by: John Snow <jsnow@redhat.com>
Message-id: 20220204221804.2047468-3-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
		
	
			
		
			
				
	
	
		
			112 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| QEMU_VENV_DIR=.dev-venv
 | |
| QEMU_TOX_EXTRA_ARGS ?=
 | |
| 
 | |
| .PHONY: help
 | |
| 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'"
 | |
| 	@echo ""
 | |
| 	@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 "    The variable QEMU_TOX_EXTRA_ARGS can be use to pass extra"
 | |
| 	@echo "    arguments to tox".
 | |
| 	@echo ""
 | |
| 	@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."
 | |
| 	@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.)"
 | |
| 	@echo ""
 | |
| 	@echo "make pipenv"
 | |
| 	@echo "    Creates pipenv's virtual environment (.venv)"
 | |
| 	@echo ""
 | |
| 	@echo "make dev-venv"
 | |
| 	@echo "    Creates a simple venv for check-dev. ($(QEMU_VENV_DIR))"
 | |
| 	@echo ""
 | |
| 	@echo "make clean:"
 | |
| 	@echo "    Remove package build output."
 | |
| 	@echo ""
 | |
| 	@echo "make distclean:"
 | |
| 	@echo "    remove pipenv/venv files, qemu package forwarder,"
 | |
| 	@echo "    built distribution files, and everything from 'make clean'."
 | |
| 	@echo ""
 | |
| 	@echo -e "Have a nice day ^_^\n"
 | |
| 
 | |
| .PHONY: pipenv
 | |
| pipenv: .venv
 | |
| .venv: Pipfile.lock
 | |
| 	@PIPENV_VENV_IN_PROJECT=1 pipenv sync --dev --keep-outdated
 | |
| 	rm -f pyproject.toml
 | |
| 	@touch .venv
 | |
| 
 | |
| .PHONY: check-pipenv
 | |
| check-pipenv: pipenv
 | |
| 	@pipenv run make check
 | |
| 
 | |
| .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;					\
 | |
| 	)
 | |
| 
 | |
| .PHONY: develop
 | |
| develop:
 | |
| 	pip3 install --disable-pip-version-check -e .[devel]
 | |
| 
 | |
| .PHONY: check
 | |
| check:
 | |
| 	@avocado --config avocado.cfg run tests/
 | |
| 
 | |
| .PHONY: check-tox
 | |
| check-tox:
 | |
| 	@tox $(QEMU_TOX_EXTRA_ARGS)
 | |
| 
 | |
| .PHONY: check-coverage
 | |
| check-coverage:
 | |
| 	@coverage run -m avocado --config avocado.cfg run tests/*.py
 | |
| 	@coverage combine
 | |
| 	@coverage html
 | |
| 	@coverage report
 | |
| 
 | |
| .PHONY: clean
 | |
| clean:
 | |
| 	python3 setup.py clean --all
 | |
| 	rm -f pyproject.toml
 | |
| 
 | |
| .PHONY: distclean
 | |
| distclean: clean
 | |
| 	rm -rf qemu.egg-info/ .venv/ .tox/ $(QEMU_VENV_DIR) dist/
 | |
| 	rm -f .coverage .coverage.*
 | |
| 	rm -rf htmlcov/
 |