.PHONY: dev server matchmaker godot prod logs down

GODOT ?= $(HOME)/bin/godot

# ── Entwickeln ───────────────────────────────────────────────────────────────
# Spiel gegen den lokalen Matchmaker starten. Ohne die Variable zeigt es auf
# pirate-dice.marha.de.
dev:
	PIRATE_DICE_SERVER=http://127.0.0.1:8020 $(GODOT) --path .

# Matchmaker lokal, legt Räume als eigene Prozesse an
matchmaker:
	cd server && python3 -m venv .venv 2>/dev/null || true
	server/.venv/bin/pip install -q -r server/requirements.txt
	GODOT=$(GODOT) SPIEL_PFAD=$(PWD) SPIEL_HOST=127.0.0.1 \
		server/.venv/bin/uvicorn --app-dir server matchmaker:app --port 8020

# Einzelnen Raum von Hand aufmachen, ohne Matchmaker
server:
	$(GODOT) --headless --path . -- server 8910

# ── Produktion (auf dem Server ausführen) ────────────────────────────────────
# Das Binary kommt aus dem Build-Kontext, damit die Version stimmt.
godot:
	mkdir -p dist
	cp $(GODOT) dist/godot

prod: godot
	docker compose up -d --build
	@echo "läuft: https://pirate-dice.marha.de"

logs:
	docker compose logs -f

down:
	docker compose down
