PREFIX ?= $(HOME)/.local
PYTHON ?= python3

SHARE_DIR := $(PREFIX)/share
APP_DIR := $(SHARE_DIR)/mpvremote
BIN_DIR := $(PREFIX)/bin
LAUNCHER := $(BIN_DIR)/mpvremote

.PHONY: help install uninstall verify

help:
	@echo "make install   Install mpvremote under $(PREFIX)"
	@echo "make verify    Check the installed launcher and module"
	@echo "make uninstall Remove the user-level installation"

install:
	install -d "$(APP_DIR)" "$(BIN_DIR)"
	cp -R mpvremote/. "$(APP_DIR)/"
	@printf '%s\n' \
		'#!/bin/sh' \
		'export PYTHONPATH="$(SHARE_DIR)$${PYTHONPATH:+:$$PYTHONPATH}"' \
		'exec "$(PYTHON)" -m mpvremote "$$@"' \
		> "$(LAUNCHER)"
	chmod 755 "$(LAUNCHER)"
	@case ":$$PATH:" in \
		*":$(BIN_DIR):"*) echo "$(BIN_DIR) is already in PATH" ;; \
		*) echo 'Add $(BIN_DIR) to PATH: export PATH="$(BIN_DIR):$$PATH"' ;; \
	esac

verify:
	test -d "$(APP_DIR)"
	test -x "$(LAUNCHER)"
	cd "$(HOME)" && "$(LAUNCHER)" --help

uninstall:
	rm -f "$(LAUNCHER)"
	rm -rf "$(APP_DIR)"
