43 lines
758 B
Makefile
43 lines
758 B
Makefile
VERSION = $(shell .venv/bin/python -m setuptools_scm)
|
|
|
|
wheel: dist/ocivm-$(VERSION)-py3-none-any.whl
|
|
|
|
.venv:
|
|
python3 -m venv .venv
|
|
|
|
venv: .venv
|
|
|
|
dev: .venv
|
|
.venv/bin/python -m pip install -r dev-requirements.txt
|
|
|
|
dist/ocivm-$(VERSION)-py3-none-any.whl: \
|
|
$(shell find src -type f -name '*.py') \
|
|
src/ocivm/kernel.img \
|
|
MANIFEST.in \
|
|
pyproject.toml
|
|
ifeq ($(VERSION),)
|
|
$(error Run make dev first)
|
|
endif
|
|
.venv/bin/python -m build
|
|
|
|
kernel: src/ocivm/kernel.img
|
|
|
|
src/ocivm/kernel.img: kconfig
|
|
cp -uv kconfig kernel/.config
|
|
$(MAKE) -C kernel
|
|
cp -uv kernel/arch/x86/boot/bzImage src/ocivm/kernel.img
|
|
|
|
clean:
|
|
$(MAKE) -C kernel mrproper
|
|
rm -rf .venv
|
|
rm -rf build dist
|
|
rm -f src/ocivm/kernel.img
|
|
|
|
|
|
.PHONY: \
|
|
clean \
|
|
dev \
|
|
kernel \
|
|
venv \
|
|
wheel
|