.PHONY: help build up up-build down restart logs ps

COMPOSE_FILE := docker/docker-compose.yml
COMPOSE := docker compose -f $(COMPOSE_FILE)

help:
	@printf "Available targets:\n"
	@printf "  make build      Build Docker images (with cache)\n"
	@printf "  make up         Start services (NO rebuild, reuse existing image)\n"
	@printf "  make up-build   Rebuild image then start (use after code changes)\n"
	@printf "  make down       Stop and remove services\n"
	@printf "  make restart    Restart services without rebuild\n"
	@printf "  make logs       Follow service logs\n"
	@printf "  make ps         Show service status\n"
	@printf "  Note: do not use 'docker compose down -v' in daily usage (it removes persistent volumes)\n"

build:
	$(COMPOSE) build

# 日常启动：直接用已有镜像，不重新构建（秒启动）
up:
	$(COMPOSE) up -d

# 代码有改动时使用：重新构建镜像再启动
up-build:
	$(COMPOSE) build
	$(COMPOSE) up -d

down:
	$(COMPOSE) down

restart:
	$(COMPOSE) restart

logs:
	$(COMPOSE) logs -f

ps:
	$(COMPOSE) ps
