| 
							
								 | 
							
							# Custom configuration | 独立配置
 | 
						
						
						
						
							 | 
							
								 | 
							
							# Service name | 项目名称
 | 
						
						
						
						
							 | 
							
								 | 
							
							SERVICE=core
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							TEMPLATE_REMOTE=https://git.noahlan.cn/noahlan/goctls-template.git
 | 
						
						
						
						
							 | 
							
								 | 
							
							TEMPLATE_BRANCH=v1.5.17
 | 
						
						
						
						
							 | 
							
								 | 
							
							TEMPLATE_HOME=./doc
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							# The project version, if you don't use git, you should set it manually | 项目版本,如果不使用git请手动设置
 | 
						
						
						
						
							 | 
							
								 | 
							
							# VERSION=$(shell git describe --tags --always)
 | 
						
						
						
						
							 | 
							
								 | 
							
							VERSION=1.0.0
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							# The project file name style | 项目文件命名风格
 | 
						
						
						
						
							 | 
							
								 | 
							
							PROJECT_STYLE=go_zero
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							# Whether to use i18n | 是否启用 i18n
 | 
						
						
						
						
							 | 
							
								 | 
							
							PROJECT_I18N=false
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							# Swagger type, support yml,json | Swagger 文件类型,支持yml,json
 | 
						
						
						
						
							 | 
							
								 | 
							
							SWAGGER_TYPE := yml
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							# Ent enabled features | Ent 启用的官方特性
 | 
						
						
						
						
							 | 
							
								 | 
							
							ENT_FEATURE=sql/execquery,sql/modifier,sql/upsert,intercept
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							# ---- You may not need to modify the codes below | 下面的代码大概率不需要更改 ----
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							GO ?= go
 | 
						
						
						
						
							 | 
							
								 | 
							
							GOFMT ?= gofmt "-s"
 | 
						
						
						
						
							 | 
							
								 | 
							
							GOFILES := $(shell find . -name "*.go")
 | 
						
						
						
						
							 | 
							
								 | 
							
							LDFLAGS := -s -w
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							# Generate
 | 
						
						
						
						
							 | 
							
								 | 
							
							.PHONY: gen-api
 | 
						
						
						
						
							 | 
							
								 | 
							
							gen-api: # Generate API files | 生成 API 的代码
 | 
						
						
						
						
							 | 
							
								 | 
							
								goctls api go --api ./api/desc/all.api \
 | 
						
						
						
						
							 | 
							
								 | 
							
									--dir ./api \
 | 
						
						
						
						
							 | 
							
								 | 
							
									--trans_err=true \
 | 
						
						
						
						
							 | 
							
								 | 
							
									--remote $(TEMPLATE_REMOTE)
 | 
						
						
						
						
							 | 
							
								 | 
							
								swagger generate spec --output=./n-admin-server.$(SWAGGER_TYPE) --scan-models
 | 
						
						
						
						
							 | 
							
								 | 
							
								@echo "Generate API files successfully"
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							.PHONY: gen-rpc
 | 
						
						
						
						
							 | 
							
								 | 
							
							gen-rpc: # Generate RPC files from proto | 生成 RPC 的代码
 | 
						
						
						
						
							 | 
							
								 | 
							
								goctls rpc protoc ./rpc/$(SERVICE)/$(SERVICE).proto \
 | 
						
						
						
						
							 | 
							
								 | 
							
									--style=$(PROJECT_STYLE) \
 | 
						
						
						
						
							 | 
							
								 | 
							
									--go_out=./rpc/$(SERVICE)/types \
 | 
						
						
						
						
							 | 
							
								 | 
							
									--go-grpc_out=./rpc/$(SERVICE)/types \
 | 
						
						
						
						
							 | 
							
								 | 
							
									--zrpc_out=./rpc/$(SERVICE) \
 | 
						
						
						
						
							 | 
							
								 | 
							
									--remote $(TEMPLATE_REMOTE) \
 | 
						
						
						
						
							 | 
							
								 | 
							
									--branch $(TEMPLATE_BRANCH)
 | 
						
						
						
						
							 | 
							
								 | 
							
								@echo "Generate RPC files successfully"
 | 
						
						
						
						
							 | 
							
								 | 
							
							
 | 
						
						
						
						
							 | 
							
								 | 
							
							.PHONY: gen-ent
 | 
						
						
						
						
							 | 
							
								 | 
							
							gen-ent: # Generate Ent codes | 生成 Ent 的代码
 | 
						
						
						
						
							 | 
							
								 | 
							
								go run -mod=mod entgo.io/ent/cmd/ent generate \
 | 
						
						
						
						
							 | 
							
								 | 
							
									--feature $(ENT_FEATURE) \
 | 
						
						
						
						
							 | 
							
								 | 
							
									--template glob="./doc/ent/template/*.tmpl" \
 | 
						
						
						
						
							 | 
							
								 | 
							
									./rpc/$(SERVICE)/ent/schema
 | 
						
						
						
						
							 | 
							
								 | 
							
								@echo "Generate Ent files successfully"
 |