.PHONY: help clean build check upload-test upload

PYTHON ?= python
TWINE ?= twine

help:
	@echo "Available targets:"
	@echo "  make clean       - Remove build artifacts"
	@echo "  make build       - Build wheel and sdist"
	@echo "  make check       - Run twine checks on dist artifacts"
	@echo "  make upload-test - Upload dist artifacts to TestPyPI"
	@echo "  make upload      - Upload dist artifacts to PyPI"
	@echo ""
	@echo "Auth options:"
	@echo "  1) Configure ~/.pypirc for pypi and testpypi"
	@echo "  2) Or export TWINE_USERNAME=__token__ and TWINE_PASSWORD=pypi-..."

clean:
	rm -rf build dist *.egg-info

build: clean
	$(PYTHON) -m build

check: build
	$(TWINE) check dist/*

upload-test: build
	$(TWINE) upload --repository testpypi dist/*

upload: build
	$(TWINE) upload --repository pypi dist/*
