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 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."