mirror of https://github.com/usual2970/certimate
				
				
				
			
		
			
				
	
	
		
			37 lines
		
	
	
		
			855 B
		
	
	
	
		
			Makefile
		
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			855 B
		
	
	
	
		
			Makefile
		
	
	
# 定义变量
 | 
						|
BINARY_NAME=certimate
 | 
						|
VERSION=$(shell git describe --tags --always)
 | 
						|
BUILD_DIR=build
 | 
						|
 | 
						|
# 支持的操作系统和架构列表
 | 
						|
OS_ARCH=\
 | 
						|
    linux/amd64 \
 | 
						|
    linux/arm64 \
 | 
						|
    darwin/amd64 \
 | 
						|
    darwin/arm64 \
 | 
						|
    windows/amd64 \
 | 
						|
    windows/arm64
 | 
						|
 | 
						|
# 默认目标
 | 
						|
all: build
 | 
						|
 | 
						|
# 构建所有平台的二进制文件
 | 
						|
build: $(OS_ARCH)
 | 
						|
$(OS_ARCH):
 | 
						|
	@mkdir -p $(BUILD_DIR)
 | 
						|
	GOOS=$(word 1,$(subst /, ,$@)) \
 | 
						|
	GOARCH=$(word 2,$(subst /, ,$@)) \
 | 
						|
	go build -o $(BUILD_DIR)/$(BINARY_NAME)_$(word 1,$(subst /, ,$@))_$(word 2,$(subst /, ,$@)) -ldflags="-X main.version=$(VERSION)" .
 | 
						|
 | 
						|
# 清理构建文件
 | 
						|
clean:
 | 
						|
	rm -rf $(BUILD_DIR)
 | 
						|
 | 
						|
# 帮助信息
 | 
						|
help:
 | 
						|
	@echo "Usage:"
 | 
						|
	@echo "  make        - 编译所有平台的二进制文件"
 | 
						|
	@echo "  make clean  - 清理构建文件"
 | 
						|
	@echo "  make help   - 显示此帮助信息"
 | 
						|
 | 
						|
.PHONY: all build clean help |