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

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

ROSTERS := smackdown1roster.json smackdown2roster.json smackdown3roster.json
LOGOS := smackdown-logo-source.png raw-is-war-logo.png wwfcomlogo.gif

.PHONY: help install uninstall verify

help:
	@echo "make install   Install LVPWB under $(PREFIX)"
	@echo "make verify    Check the installed package and launcher"
	@echo "make uninstall Remove installed code and launcher (keeps saved data)"
	@echo "Set PREFIX to change the installation prefix; set PYTHON to choose Python."

install:
	install -d "$(PACKAGE_DIR)" "$(BIN_DIR)"
	install -m 644 lvpwb/*.py "$(PACKAGE_DIR)/"
	install -m 644 $(ROSTERS) $(LOGOS) "$(APP_DIR)/"
	@printf '%s\n' \
		'#!/bin/sh' \
		'export PYTHONPATH="$(APP_DIR)$${PYTHONPATH:+:$$PYTHONPATH}"' \
		'exec "$(PYTHON)" -m lvpwb "$$@"' \
		> "$(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 "$(PACKAGE_DIR)"
	test -x "$(LAUNCHER)"
	PYTHONPATH="$(APP_DIR)$${PYTHONPATH:+:$$PYTHONPATH}" "$(PYTHON)" -c \
		'import lvpwb; assert len(lvpwb.load_roster("sd1")) > 0; print("LVPWB package and roster verified")'
	@"$(LAUNCHER)" </dev/null >/dev/null

uninstall:
	rm -f "$(LAUNCHER)"
	rm -rf "$(PACKAGE_DIR)"
	@for asset in $(ROSTERS) $(LOGOS); do rm -f "$(APP_DIR)/$$asset"; done
	@rmdir "$(APP_DIR)" 2>/dev/null || true
	@echo "Removed LVPWB code and launcher. Saved cards, seasons, and custom games were preserved."
