| 
									
										
										
										
											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 "" | 
					
						
							| 
									
										
										
										
											2021-06-29 17:43:15 -04:00
										 |  |  | 	@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 "" | 
					
						
							| 
									
										
										
										
											2021-06-29 17:43:20 -04:00
										 |  |  | 	@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.)" | 
					
						
							| 
									
										
										
										
											2021-05-27 17:17:12 -04:00
										 |  |  | 	@echo "" | 
					
						
							| 
									
										
										
										
											2021-06-29 17:43:15 -04:00
										 |  |  | 	@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 | 
					
						
							| 
									
										
										
										
											2021-06-29 17:43:15 -04:00
										 |  |  | 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 | 
					
						
							| 
									
										
										
										
											2021-06-29 17:43:15 -04:00
										 |  |  | 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/ |