Files
toolbox/Makefile
T
2026-09-02 13:00:25 +08:00

50 lines
1.8 KiB
Makefile

# 定义项目名称与变量
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