# Zmienne PYTHON = venv/bin/python PIP = venv/bin/pip APP = app.py PORT = 2500 PROD_PORT = 8000 # Kolory GREEN = \033[0;32m NC = \033[0m .PHONY: setup run clean status kill help: @echo "$(GREEN)Dostępne komendy:$(NC)" @echo " make setup - Tworzy venv i instaluje biblioteki" @echo " make run - Uruchamia serwer deweloperski" @echo " make prod - Uruchamia serwer produkcyjny (Gunicorn) w tle" @echo " make status - Sprawdza co działa" @echo " make kill - Zabija procesy na obu portach" @echo " make clean - Usuwa śmieci i venv" setup: @python3 -m venv venv @$(PIP) install --upgrade pip @$(PIP) install flask flask-cors gunicorn python-dotenv @echo "$(GREEN)✓ Gotowe. Użyj 'make run'$(NC)" run: @echo "$(GREEN)Start dev na porcie $(PORT)...$(NC)" @$(PYTHON) $(APP) prod: @echo "$(GREEN)Start prod na porcie $(PROD_PORT)...$(NC)" @nohup $(VENV_DIR)/bin/gunicorn -w 4 -b 0.0.0.0:$(PROD_PORT) app:app > production.log 2>&1 & @echo "$(GREEN)✓ Działa w tle (logi w production.log)$(NC)" status: @echo "--- PORT $(PORT) (DEV) ---" @ss -tulpn | grep :$(PORT) || echo "Wolny" @echo "--- PORT $(PROD_PORT) (PROD) ---" @ss -tulpn | grep :$(PROD_PORT) || echo "Wolny" kill: @echo "Zabijanie procesów..." @-fuser -k $(PORT)/tcp 2>/dev/null || true @-fuser -k $(PROD_PORT)/tcp 2>/dev/null || true @echo "$(GREEN)✓ Czysto$(NC)" clean: @rm -rf venv __pycache__ *.pyc production.log @echo "$(GREEN)✓ Posprzątane$(NC)"