From bb031c55b2638dd944fc54d98ad9e6c8d5838ffb Mon Sep 17 00:00:00 2001 From: kingecg Date: Thu, 3 Jul 2025 11:28:39 +0800 Subject: [PATCH] =?UTF-8?q?build:=20=E6=B7=BB=E5=8A=A0=20Makefile=20?= =?UTF-8?q?=E7=94=A8=E4=BA=8E=E6=9E=84=E5=BB=BA=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加 Makefile 文件,包含构建、清理、测试和多平台构建功能,简化开发流程 --- Makefile | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..bc1164b --- /dev/null +++ b/Makefile @@ -0,0 +1,28 @@ +.PHONY: clean test build build-all + +# 构建目标 +BINARY := gofirewall + +# 默认构建 +build: + @echo "Building for current platform..." + go build -o $(BINARY) + +# 清理构建产物 +clean: + @echo "Cleaning build artifacts..." + @rm -f $(BINARY) $(BINARY)-* + +# 运行测试 +test: + @echo "Running tests..." + go test ./... + +# 多平台构建 +build-all: clean test + @echo "Building for all platforms..." + GOOS=linux GOARCH=amd64 go build -o $(BINARY)-linux-amd64 + GOOS=linux GOARCH=arm64 go build -o $(BINARY)-linux-arm64 + GOOS=windows GOARCH=amd64 go build -o $(BINARY)-windows-amd64.exe + GOOS=darwin GOARCH=amd64 go build -o $(BINARY)-darwin-amd64 + GOOS=darwin GOARCH=arm64 go build -o $(BINARY)-darwin-arm64 \ No newline at end of file