VERSION=v1.1.0 BRANCH=v1.1.0 OS := $(shell uname -s) PLATFORM=$(shell uname -m) ARCH := $(shell uname -m) DATETIME=$(shell date "+%Y/%m/%d %H:%M:%S") GIT_BRANCH = $(shell git rev-parse --abbrev-ref HEAD) GIT_COMMIT = $(shell git log --pretty=format:'%h' -n 1) # 注意:这里的路径是你自己的交叉编译工具链的路径, 下载地址https://github.com/messense/homebrew-macos-cross-toolchains/releases CROSS_BUILD_LINUX_GUN_GCC = /Users/hxy/wkdir/x86_64-unknown-linux-gnu/build/x86_64-unknown-linux-gnu-gcc LOCALCONF_HOME=chainweaver.org.cn/chainweaver/mira/mira-ida-access-service/internal/config GOLDFLAGS = -X "${LOCALCONF_HOME}.CurrentVersion=${VERSION}" \ -X "${LOCALCONF_HOME}.BuildDateTime=${DATETIME}" \ -X "${LOCALCONF_HOME}.GitBranch=${GIT_BRANCH}" \ -X "${LOCALCONF_HOME}.GitCommit=${GIT_COMMIT}" BUILD_DIR=./build OUTPUT=${BUILD_DIR}/mira-ida-access-service .PHONY: build build_local build_docker build_docker_simple build_linux build_linux_simple generate ut clean start-service # 本地编译 build: mod_tidy build_binary # 本地编译 depend on vendor build_local: build_binary go build -ldflags '${GOLDFLAGS}' -o ${OUTPUT} . # Docker构建 build_docker: mod_tidy mod_vendor docker_build ./docker_build.sh -t ${VERSION} -p false build_docker_simple: build docker_build_simple ./docker_build_simple.sh -t ${VERSION} -p false # 本地需要安装交叉编译器 build_linux: mod_tidy build_linux_binary generate_md5 build_linux_simple: mod_tidy build_linux_binary generate_md5 docker_build_simple ./docker_build_simple.sh -t ${VERSION} -p false generate: go generate ./... ut: go test ./... start-service: go run ./miraidaaccessservice.go clean: rm -rf ${BUILD_DIR} # 辅助目标 mod_tidy: go mod tidy mod_vendor: go mod vendor build_binary: go build -ldflags '${GOLDFLAGS}' -o ${OUTPUT} . build_linux_binary: @rm -rf ${BUILD_DIR}/linux_amd64 && mkdir -p ${BUILD_DIR}/linux_amd64 CGO_ENABLED=1 CC=${CROSS_BUILD_LINUX_GUN_GCC} GOARCH=amd64 GOOS=linux go build -ldflags '${GOLDFLAGS}' -o ${OUTPUT} ./cmd/main.go generate_md5: md5 ${OUTPUT} | awk '{print $$NF}' > ${BUILD_DIR}/md5.txt docker_build: @echo "Building Docker image..." docker_build_simple: @echo "Building simple Docker image..."