# 正式建置：先建前端（輸出到 internal/webui/dist），再編進單一二進位。
VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo dev)
LDFLAGS := -X gitea.jsc.idv.tw/jiantw83/stall-walk/internal/buildinfo.Version=$(VERSION)

.PHONY: build web test test-go test-web dev-web clean

build: web
	go build -ldflags "$(LDFLAGS)" -o stall-walk ./cmd/stall-walk

web: web/node_modules
	cd web && npm run build

web/node_modules: web/package.json web/package-lock.json
	cd web && npm ci
	@touch $@

test: test-go test-web

test-go:
	go test ./...

test-web: web/node_modules
	cd web && npm test

# 開發：另開終端機跑 ./stall-walk serve，Vite 會把 /api 代理過去
dev-web: web/node_modules
	cd web && npm run dev

clean:
	rm -f stall-walk
	find internal/webui/dist -mindepth 1 ! -name .gitkeep -delete
