SRC ?= chromecast-stream.py
PREFIX ?= /usr/local

VENV ?= venv
ACTIVATE = $(VENV)/bin/activate

$(ACTIVATE):
    python3 -m venv $(VENV)
    @touch $(@)

$(VENV)/.requirements: $(ACTIVATE)
    . $(ACTIVATE) ; pip3 install pychromecast
    . $(ACTIVATE) ; pip3 install mypy flake8
    @touch $(@)

.PHONY: deps
deps: $(VENV)/.requirements

.PHONY: check
check: deps
    . $(ACTIVATE) ; mypy --ignore-missing-imports $(SRC)
    . $(ACTIVATE) ; flake8 $(SRC)

.PHONY: install
install: $(SRC)
    install -v -m 0755 -T $(<) "$(DESTDIR)$(PREFIX)/bin/$(basename $(<))"

.PHONY: clean
clean:
    rm -rf $(VENV) .mypy_cache __pycache__