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