SHELL := /bin/bash BACKEND_DIR := backend WEB_DIR := backend/web .DEFAULT_GOAL := help .PHONY: help help: ## 顯示可用指令 @grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) \ | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-18s\033[0m %s\n", $$1, $$2}' .PHONY: gen-api gen-api: ## 重新產生後端 API handler / logic / types $(MAKE) -C $(BACKEND_DIR) gen-api .PHONY: fmt fmt: ## 格式化後端 Go 程式 $(MAKE) -C $(BACKEND_DIR) fmt .PHONY: test test: ## 執行後端測試 $(MAKE) -C $(BACKEND_DIR) test .PHONY: run run: ## 啟動後端 API $(MAKE) -C $(BACKEND_DIR) run .PHONY: web-dev web-dev: ## 啟動正式前端 dev server cd $(WEB_DIR) && npm install && npm run dev .PHONY: web-build web-build: ## 建置正式前端 cd $(WEB_DIR) && npm install && npm run build .PHONY: verify verify: test web-build ## 後端測試與前端建置