From efded1d4db135fc8f37f85b1ff68e603989878b7 Mon Sep 17 00:00:00 2001 From: yangjiechina <1534796060@qq.com> Date: Sun, 11 Aug 2024 11:05:57 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BC=96=E8=AF=91=E8=BE=93=E5=87=BA=E5=8E=8B?= =?UTF-8?q?=E7=BC=A9=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 54 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 43 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index c95411e..62dbb07 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,4 @@ PROJECT_NAME := lkm - BINARY_NAME := $(PROJECT_NAME) # 默认目标平台和架构 @@ -8,13 +7,19 @@ GOARCH ?= amd64 ifeq ($(GOOS),windows) BINARY_EXT = .exe + COMPRESS_CMD = zip -j + COMPRESS_EXT = .zip else BINARY_EXT = + COMPRESS_CMD = tar -czf + COMPRESS_EXT = .tar.gz endif BIN_DIR := bin +RESOURCES := config.json rtc.html -BINARY := $(BIN_DIR)/$(BINARY_NAME)-$(GOOS)-$(GOARCH)$(BINARY_EXT) +BINARY := $(BINARY_NAME)-$(GOOS)-$(GOARCH)$(BINARY_EXT) +COMPRESSED_BINARY := $(BIN_DIR)/$(BINARY_NAME)-$(GOOS)-$(GOARCH)$(COMPRESS_EXT) GO_BUILD := go build -v @@ -26,11 +31,20 @@ create-bin-dir: build: create-bin-dir @echo "Building $(BINARY)..." - @CGO_ENABLED=0 GOOS=$(GOOS) GOARCH=$(GOARCH) $(GO_BUILD) -o $(BINARY) + @CGO_ENABLED=0 GOOS=$(GOOS) GOARCH=$(GOARCH) $(GO_BUILD) -o $(BIN_DIR)/$(BINARY) + +compress: + @echo "Compressing $(BINARY)..." +ifeq ($(GOOS),windows) + @$(COMPRESS_CMD) $(COMPRESSED_BINARY) $(BIN_DIR)/$(BINARY) $(RESOURCES) +else + @$(COMPRESS_CMD) $(COMPRESSED_BINARY) -C $(BIN_DIR)/ $(BINARY) -C ../ $(RESOURCES) +endif clean: @echo "Cleaning up..." @rm -rf $(BIN_DIR)/$(BINARY_NAME)-* + @rm -rf $(BIN_DIR)/$(BINARY_NAME)-*.tar.gz $(BIN_DIR)/$(BINARY_NAME)-*.zip build-windows: $(MAKE) build GOOS=windows GOARCH=amd64 @@ -50,12 +64,30 @@ build-darwin: build-darwin-arm64: $(MAKE) build GOOS=darwin GOARCH=arm64 -build-all: - $(MAKE) build-windows - $(MAKE) build-windows-arm64 - $(MAKE) build-linux - $(MAKE) build-linux-arm64 - $(MAKE) build-darwin - $(MAKE) build-darwin-arm64 +build-all: build-windows build-windows-arm64 build-linux build-linux-arm64 build-darwin build-darwin-arm64 + $(MAKE) compress-windows + $(MAKE) compress-windows-arm64 + $(MAKE) compress-linux + $(MAKE) compress-linux-arm64 + $(MAKE) compress-darwin + $(MAKE) compress-darwin-arm64 -.PHONY: all build clean build-windows build-windows-arm64 build-linux build-linux-arm64 build-darwin build-darwin-arm64 build-all create-bin-dir +compress-windows: + @$(MAKE) compress GOOS=windows GOARCH=amd64 + +compress-windows-arm64: + @$(MAKE) compress GOOS=windows GOARCH=arm64 + +compress-linux: + @$(MAKE) compress GOOS=linux GOARCH=amd64 + +compress-linux-arm64: + @$(MAKE) compress GOOS=linux GOARCH=arm64 + +compress-darwin: + @$(MAKE) compress GOOS=darwin GOARCH=amd64 + +compress-darwin-arm64: + @$(MAKE) compress GOOS=darwin GOARCH=arm64 + +.PHONY: all build clean build-windows build-windows-arm64 build-linux build-linux-arm64 build-darwin build-darwin-arm64 build-all compress compress-windows compress-windows-arm64 compress-linux compress-linux-arm64 compress-darwin compress-darwin-arm64 create-bin-dir \ No newline at end of file