refactor(build): 重构构建系统以使用目标目录结构
修改Makefile以将所有构建产物输出到target目录下的平台特定子目录中
This commit is contained in:
parent
bb031c55b2
commit
fcbf669779
27
Makefile
27
Makefile
|
|
@ -2,16 +2,25 @@
|
|||
|
||||
# 构建目标
|
||||
BINARY := gofirewall
|
||||
TARGET_DIR := target
|
||||
|
||||
# 创建目标目录
|
||||
$(TARGET_DIR):
|
||||
@mkdir -p $(TARGET_DIR)/linux/amd64
|
||||
@mkdir -p $(TARGET_DIR)/linux/arm64
|
||||
@mkdir -p $(TARGET_DIR)/windows/amd64
|
||||
@mkdir -p $(TARGET_DIR)/darwin/amd64
|
||||
@mkdir -p $(TARGET_DIR)/darwin/arm64
|
||||
|
||||
# 默认构建
|
||||
build:
|
||||
build: $(TARGET_DIR)
|
||||
@echo "Building for current platform..."
|
||||
go build -o $(BINARY)
|
||||
go build -o $(TARGET_DIR)/$(BINARY)
|
||||
|
||||
# 清理构建产物
|
||||
clean:
|
||||
@echo "Cleaning build artifacts..."
|
||||
@rm -f $(BINARY) $(BINARY)-*
|
||||
@rm -rf $(TARGET_DIR)
|
||||
|
||||
# 运行测试
|
||||
test:
|
||||
|
|
@ -19,10 +28,10 @@ test:
|
|||
go test ./...
|
||||
|
||||
# 多平台构建
|
||||
build-all: clean test
|
||||
build-all: clean test $(TARGET_DIR)
|
||||
@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
|
||||
GOOS=linux GOARCH=amd64 go build -o $(TARGET_DIR)/linux/amd64/$(BINARY)
|
||||
GOOS=linux GOARCH=arm64 go build -o $(TARGET_DIR)/linux/arm64/$(BINARY)
|
||||
GOOS=windows GOARCH=amd64 go build -o $(TARGET_DIR)/windows/amd64/$(BINARY).exe
|
||||
GOOS=darwin GOARCH=amd64 go build -o $(TARGET_DIR)/darwin/amd64/$(BINARY)
|
||||
GOOS=darwin GOARCH=arm64 go build -o $(TARGET_DIR)/darwin/arm64/$(BINARY)
|
||||
Loading…
Reference in New Issue