2026-08-20 21:46:55 +08:00
|
|
|
APP := agent-desk-server
|
2026-05-23 22:44:06 +08:00
|
|
|
MAIN := ./cmd/server
|
2026-06-07 22:46:06 +08:00
|
|
|
DIST_DIR := dist
|
2026-08-20 21:46:55 +08:00
|
|
|
FRONTEND_DIR ?= ../agent-desk-web
|
2026-05-23 22:44:06 +08:00
|
|
|
|
|
|
|
|
GO ?= go
|
2026-06-13 10:40:09 +08:00
|
|
|
DEV_PORT ?= 8083
|
2026-05-23 22:44:06 +08:00
|
|
|
|
2026-06-07 22:46:06 +08:00
|
|
|
.DEFAULT_GOAL := build
|
|
|
|
|
|
2026-08-20 21:46:55 +08:00
|
|
|
.PHONY: help dev build test generator enums clean
|
2026-06-07 22:46:06 +08:00
|
|
|
|
2026-06-07 22:53:48 +08:00
|
|
|
help:
|
|
|
|
|
@echo "Available targets:"
|
2026-08-20 21:46:55 +08:00
|
|
|
@echo " make dev Start the API server on port $(DEV_PORT)"
|
|
|
|
|
@echo " make build Build the API binary into $(DIST_DIR)/"
|
|
|
|
|
@echo " make test Run all Go tests"
|
|
|
|
|
@echo " make generator Run backend code generation"
|
|
|
|
|
@echo " make enums Generate frontend enums into $(FRONTEND_DIR)"
|
|
|
|
|
@echo " make clean Remove backend build output"
|
2026-06-07 22:53:48 +08:00
|
|
|
|
2026-08-20 21:46:55 +08:00
|
|
|
dev:
|
|
|
|
|
@AGENT_DESK_SERVER_PORT="$(DEV_PORT)" $(GO) run -tags dev $(MAIN)
|
2026-05-23 22:44:06 +08:00
|
|
|
|
2026-08-20 21:46:55 +08:00
|
|
|
build:
|
|
|
|
|
@mkdir -p $(DIST_DIR)
|
|
|
|
|
@$(GO) build -v -o $(DIST_DIR)/$(APP) $(MAIN)
|
2026-05-23 22:44:06 +08:00
|
|
|
|
2026-08-20 21:46:55 +08:00
|
|
|
test:
|
|
|
|
|
@$(GO) test ./...
|
2026-04-09 10:01:23 +08:00
|
|
|
|
|
|
|
|
generator:
|
2026-05-23 22:44:06 +08:00
|
|
|
@$(GO) run ./cmd/generator/generator.go
|
2026-04-09 10:01:23 +08:00
|
|
|
|
|
|
|
|
enums:
|
2026-08-20 21:46:55 +08:00
|
|
|
@$(GO) run ./cmd/enums/generator.go -output "$(FRONTEND_DIR)/lib/generated/enums.ts"
|
2026-06-07 23:01:04 +08:00
|
|
|
|
2026-08-20 21:46:55 +08:00
|
|
|
clean:
|
|
|
|
|
@$(GO) clean
|
|
|
|
|
@find $(DIST_DIR) -mindepth 1 -maxdepth 1 -type f -delete 2>/dev/null || true
|