Files
MTranServer/deprecated/go/Makefile
xxnuo 5c25b294d1 refactor: prepare using js
feat: update

remove python
2026-01-02 20:51:23 +08:00

60 lines
1.9 KiB
Makefile

.PHONY: build-ui download download-core download-records generate-docs
# Detect OS and architecture
GOOS ?= $(shell go env GOOS)
GOARCH ?= $(shell go env GOARCH)
# Set binary suffix for Windows, js
ifeq ($(GOOS),windows)
SUFFIX := .exe
else ifeq ($(GOOS),js)
SUFFIX := .wasm
else
SUFFIX :=
endif
# GitHub release URL
GITHUB_REPO := xxnuo/MTranCore
RELEASE_TAG := latest
WORKER_BINARY := worker-$(GOOS)-$(GOARCH)$(SUFFIX)
DOWNLOAD_URL := https://github.com/$(GITHUB_REPO)/releases/latest/download/$(WORKER_BINARY)
# Download core binary from https://github.com/xxnuo/MTranCore/releases/latest
# Support: linux-amd64, linux-arm64, linux-386, windows-amd64, darwin-amd64, darwin-arm64
# Extra: js-wasm
download-core:
touch ./bin/worker
@TARGET_GOOS=$(GOOS) TARGET_GOARCH=$(GOARCH) GOOS= GOARCH= go generate ./bin
@echo "Downloaded core binary from repository successfully"
download-records:
touch ./data/records.json
@GOOS= GOARCH= go generate ./data
@echo "Generated records hash successfully"
download: download-core download-records
@echo "Downloaded successfully"
generate-docs:
@echo "Generating docs..."
@GOOS= GOARCH= go run github.com/swaggo/swag/cmd/swag@latest init -d ./cmd/mtranserver,./internal/handlers,./internal/models -g main.go -o ./internal/docs
@echo "Docs generated successfully"
build-ui:
@echo "Building UI..."
@cd ui && pnpm install && pnpm build
@echo "UI built successfully"
# Get version from git tag
VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo "v0.0.0-dev")
LDFLAGS := -X github.com/xxnuo/MTranServer/internal/version.Version=$(VERSION)
build: generate-docs
@echo "Building version $(VERSION)..."
@go build -ldflags "$(LDFLAGS)" -o ./dist/mtranserver-$(GOOS)-$(GOARCH)$(SUFFIX) ./cmd/mtranserver
@echo "Built successfully"
dev: generate-docs
@echo "Building version $(VERSION)..."
MT_LOG_LEVEL=debug MT_ENABLE_UI=true go run -ldflags "$(LDFLAGS)" ./cmd/mtranserver/main.go