APP_NAME_SERVER := monitor-server APP_NAME_CLIENT := monitor-client VERSION := 1.0.0 BUILD_TIME := $(shell date -u +"%Y-%m-%dT%H:%M:%SZ") LDFLAGS := -s -w -X 'main.Version=$(VERSION)' -X 'main.BuildTime=$(BUILD_TIME)' .PHONY: all server client clean package all: server client server: go build -ldflags "$(LDFLAGS)" -o dist/server/$(APP_NAME_SERVER)$(if $(findstring windows,$(GOOS)),.exe,) ./cmd/server client: go build -ldflags "$(LDFLAGS)" -o dist/client/$(APP_NAME_CLIENT)$(if $(findstring windows,$(GOOS)),.exe,) ./cmd/client # ── Windows 专用 ── server-windows: GOOS=windows GOARCH=amd64 go build -ldflags "$(LDFLAGS)" -o dist/server/$(APP_NAME_SERVER).exe ./cmd/server client-windows: GOOS=windows GOARCH=amd64 go build -ldflags "$(LDFLAGS)" -o dist/client/$(APP_NAME_CLIENT).exe ./cmd/client # ── 打包 ── package: server-windows client-windows @mkdir -p dist/server/data @mkdir -p dist/package cd dist/server && zip -r ../package/$(APP_NAME_SERVER)-$(VERSION)-win64.zip . cd dist/client && zip -r ../package/$(APP_NAME_CLIENT)-$(VERSION)-win64.zip . @echo "" @echo " dist/package/$(APP_NAME_SERVER)-$(VERSION)-win64.zip" @echo " dist/package/$(APP_NAME_CLIENT)-$(VERSION)-win64.zip" @echo "" # ── 清理 ── clean: rm -rf dist/