ifeq (run,$(firstword $(MAKECMDGOALS))) # use the rest as arguments for "run" RUN_ARGS := $(wordlist 2,$(words $(MAKECMDGOALS)),$(MAKECMDGOALS)) # ...and turn them into do-nothing targets $(eval $(RUN_ARGS):;@:) endif .PHONY: all build run test # code quality all: black typehint lint black: uv run isort --multi-line 3 --profile black src/ tests/ uv run black --target-version py311 src/ tests/ typehint: uv run mypy --ignore-missing-imports src/ tests/ lint: uv run pylint src/ # check check: all # test test: PYTHONPATH=src/ uv run coverage run -m --source=stacosys pytest --junitxml=junit.xml tests uv run genbadge tests -i junit.xml uv run coverage xml uv run genbadge coverage -i coverage.xml # build build: # https://stackoverflow.com/questions/24347450/how-do-you-add-additional-files-to-a-wheel rm -rf build/* dist/* *.egg-info uv sync uv build --wheel --out-dir dist docker build -t source.madyanne.fr/yax/stacosys . publish: docker push source.madyanne.fr/yax/stacosys # run run: PYTHONPATH=src/ uv run python src/stacosys/run.py $(RUN_ARGS)