mirror of
https://github.com/lkmio/lkm.git
synced 2025-09-27 03:26:01 +08:00
编译输出压缩包
This commit is contained in:
54
Makefile
54
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
|
Reference in New Issue
Block a user