cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

Makefile (3075B)


      1QEMU_VENV_DIR=.dev-venv
      2QEMU_TOX_EXTRA_ARGS ?=
      3
      4.PHONY: help
      5help:
      6	@echo "python packaging help:"
      7	@echo ""
      8	@echo "make check-pipenv:"
      9	@echo "    Run tests in pipenv's virtual environment."
     10	@echo "    These tests use the oldest dependencies."
     11	@echo "    Requires: Python 3.6 and pipenv."
     12	@echo "    Hint (Fedora): 'sudo dnf install python3.6 pipenv'"
     13	@echo ""
     14	@echo "make check-tox:"
     15	@echo "    Run tests against multiple python versions."
     16	@echo "    These tests use the newest dependencies."
     17	@echo "    Requires: Python 3.6 - 3.10, and tox."
     18	@echo "    Hint (Fedora): 'sudo dnf install python3-tox python3.10'"
     19	@echo "    The variable QEMU_TOX_EXTRA_ARGS can be use to pass extra"
     20	@echo "    arguments to tox".
     21	@echo ""
     22	@echo "make check-dev:"
     23	@echo "    Run tests in a venv against your default python3 version."
     24	@echo "    These tests use the newest dependencies."
     25	@echo "    Requires: Python 3.x"
     26	@echo ""
     27	@echo "make check:"
     28	@echo "    Run tests in your *current environment*."
     29	@echo "    Performs no environment setup of any kind."
     30	@echo ""
     31	@echo "make develop:"
     32	@echo "    Install deps needed for for 'make check',"
     33	@echo "    and install the qemu package in editable mode."
     34	@echo "    (Can be used in or outside of a venv.)"
     35	@echo ""
     36	@echo "make pipenv"
     37	@echo "    Creates pipenv's virtual environment (.venv)"
     38	@echo ""
     39	@echo "make dev-venv"
     40	@echo "    Creates a simple venv for check-dev. ($(QEMU_VENV_DIR))"
     41	@echo ""
     42	@echo "make clean:"
     43	@echo "    Remove package build output."
     44	@echo ""
     45	@echo "make distclean:"
     46	@echo "    remove pipenv/venv files, qemu package forwarder,"
     47	@echo "    built distribution files, and everything from 'make clean'."
     48	@echo ""
     49	@echo -e "Have a nice day ^_^\n"
     50
     51.PHONY: pipenv
     52pipenv: .venv
     53.venv: Pipfile.lock
     54	@PIPENV_VENV_IN_PROJECT=1 pipenv sync --dev --keep-outdated
     55	rm -f pyproject.toml
     56	@touch .venv
     57
     58.PHONY: check-pipenv
     59check-pipenv: pipenv
     60	@pipenv run make check
     61
     62.PHONY: dev-venv
     63dev-venv: $(QEMU_VENV_DIR) $(QEMU_VENV_DIR)/bin/activate
     64$(QEMU_VENV_DIR) $(QEMU_VENV_DIR)/bin/activate: setup.cfg
     65	@echo "VENV $(QEMU_VENV_DIR)"
     66	@python3 -m venv $(QEMU_VENV_DIR)
     67	@(							\
     68		echo "ACTIVATE $(QEMU_VENV_DIR)";		\
     69		. $(QEMU_VENV_DIR)/bin/activate;		\
     70		echo "INSTALL qemu[devel] $(QEMU_VENV_DIR)";	\
     71		make develop 1>/dev/null;			\
     72	)
     73	@touch $(QEMU_VENV_DIR)
     74
     75.PHONY: check-dev
     76check-dev: dev-venv
     77	@(							\
     78		echo "ACTIVATE $(QEMU_VENV_DIR)";		\
     79		. $(QEMU_VENV_DIR)/bin/activate;		\
     80		make check;					\
     81	)
     82
     83.PHONY: develop
     84develop:
     85	pip3 install --disable-pip-version-check -e .[devel]
     86
     87.PHONY: check
     88check:
     89	@avocado --config avocado.cfg run tests/
     90
     91.PHONY: check-tox
     92check-tox:
     93	@tox $(QEMU_TOX_EXTRA_ARGS)
     94
     95.PHONY: check-coverage
     96check-coverage:
     97	@coverage run -m avocado --config avocado.cfg run tests/*.py
     98	@coverage combine
     99	@coverage html
    100	@coverage report
    101
    102.PHONY: clean
    103clean:
    104	python3 setup.py clean --all
    105	rm -f pyproject.toml
    106
    107.PHONY: distclean
    108distclean: clean
    109	rm -rf qemu.egg-info/ .venv/ .tox/ $(QEMU_VENV_DIR) dist/
    110	rm -f .coverage .coverage.*
    111	rm -rf htmlcov/