# go-zero 生成風格 GO_ZERO_STYLE=go_zero GO ?= go GOFMT ?= gofmt "-s" GOFILES := $(shell find . -name "*.go") LDFLAGS := -s -w VERSION="v0.0.1" DOCKER_REP="reg.wang/app-cloudep-member-service" GIT_COMMIT ?= $(shell git rev-parse --short HEAD) GO_DOC_DIR := generate/doc-generate GO_DOC_BIN := $(GO_DOC_DIR)/bin/go-doc API_ENTRY := ./generate/api/gateway.api DOC_OUT := ./docs/openapi .PHONY: gen-api build-go-doc gen-doc gen-api: # 使用專案 handler 模板(response.Write) goctl api go -api $(API_ENTRY) -dir . -style go_zero -home generate/goctl build-go-doc: ## 編譯 go-doc(OpenAPI 文件生成器) cd $(GO_DOC_DIR) && GOTOOLCHAIN=go1.26.1 go build -o bin/go-doc ./cmd/go-doc gen-doc: build-go-doc ## 從 .api 生成 OpenAPI 3.0 YAML @mkdir -p $(DOC_OUT) $(GO_DOC_BIN) -a $(API_ENTRY) -d $(DOC_OUT) -f gateway -s openapi3.0 -y @echo "Generated: $(DOC_OUT)/gateway.yaml"