LVPWB/Makefile

48 lines
1.7 KiB
Makefile
Raw Permalink Normal View History

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