From 1f045b66828da3ae049ea905f593a310955414ca Mon Sep 17 00:00:00 2001 From: "tao.chen" <93983997+taochen-ct@users.noreply.github.com> Date: Wed, 2 Sep 2026 13:00:25 +0800 Subject: [PATCH] update --- Makefile | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..4196071 --- /dev/null +++ b/Makefile @@ -0,0 +1,50 @@ +# 定义项目名称与变量 +BINARY_NAME := toolbox +TARGET_DIR := target + +# 目标平台配置 +TARGET_MAC_ARM := aarch64-apple-darwin +TARGET_LINUX_AMD := x86_64-unknown-linux-musl +TARGET_LINUX_ARM := aarch64-unknown-linux-musl + +.PHONY: all help init build-mac-arm build-linux-amd build-linux-arm clean + +# 默认目标:显示帮助信息 +help: + @echo "使用说明:" + @echo " make init - 安装多平台交叉编译所需的 target" + @echo " make all - 编译所有平台 (macOS ARM, Linux AMD64, Linux ARM64)" + @echo " make build-mac-arm - 仅编译 macOS Apple Silicon (ARM64)" + @echo " make build-linux-amd - 仅编译 Linux AMD64 (x86_64 musl)" + @echo " make build-linux-arm - 仅编译 Linux ARM64 (aarch64 musl)" + @echo " make clean - 清理编译产物" + +# 首次使用时环境初始化(安装 target) +init: + rustup target add $(TARGET_MAC_ARM) + rustup target add $(TARGET_LINUX_AMD) + rustup target add $(TARGET_LINUX_ARM) + +# 编译所有平台 +all: build-mac-arm build-linux-amd build-linux-arm + @echo "\n🎉 所有平台编译完成!产物路径:" + @echo " - macOS ARM64: $(TARGET_DIR)/$(TARGET_MAC_ARM)/release/$(BINARY_NAME)" + @echo " - Linux AMD64: $(TARGET_DIR)/$(TARGET_LINUX_AMD)/release/$(BINARY_NAME)" + @echo " - Linux ARM64: $(TARGET_DIR)/$(TARGET_LINUX_ARM)/release/$(BINARY_NAME)" + +# 单个平台编译命令 +build-mac-arm: + @echo "🚀 编译 macOS ARM64 ($(TARGET_MAC_ARM))..." + cross build --release --target $(TARGET_MAC_ARM) + +build-linux-amd: + @echo "🚀 编译 Linux AMD64 ($(TARGET_LINUX_AMD))..." + cross build --release --target $(TARGET_LINUX_AMD) + +build-linux-arm: + @echo "🚀 编译 Linux ARM64 ($(TARGET_LINUX_ARM))..." + cross build --release --target $(TARGET_LINUX_ARM) + +# 清理生成文件 +clean: + cargo clean \ No newline at end of file