.PHONY: help setup verify restore clean status performance dns

# 默认目标
.DEFAULT_GOAL := help

# 颜色定义
BLUE := \033[0;34m
GREEN := \033[0;32m
YELLOW := \033[1;33m
NC := \033[0m

help: ## 显示帮助信息
	@echo "$(BLUE)国内镜像加速配置工具$(NC)"
	@echo ""
	@echo "$(GREEN)可用命令:$(NC)"
	@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "  $(BLUE)%-12s$(NC) %s\n", $$1, $$2}'
	@echo ""

setup: ## 配置所有镜像源（主要命令）
	@echo "$(GREEN)开始配置国内镜像源...$(NC)"
	@./setup-china-mirrors.sh

verify: ## 验证配置是否正确
	@echo "$(GREEN)开始验证配置...$(NC)"
	@./verify-config.sh

restore: ## 恢复原始配置
	@echo "$(YELLOW)开始恢复配置...$(NC)"
	@./restore-configs.sh

status: ## 查看当前配置状态
	@echo "$(BLUE)当前配置状态:$(NC)"
	@echo ""
	@echo "$(GREEN)1. Pip 镜像源:$(NC)"
	@pip config list 2>/dev/null | grep -E "index-url|trusted-host" || echo "  未配置"
	@echo ""
	@echo "$(GREEN)2. NPM 镜像源:$(NC)"
	@npm config get registry 2>/dev/null || echo "  未配置"
	@echo ""
	@echo "$(GREEN)3. Maven 配置:$(NC)"
	@if [ -f ~/.m2/settings.xml ]; then echo "  已配置 (~/.m2/settings.xml)"; else echo "  未配置"; fi
	@echo ""
	@echo "$(GREEN)4. Docker 镜像代理:$(NC)"
	@docker info 2>/dev/null | grep -A 2 "Registry Mirrors" || echo "  未运行或未配置"

performance: ## 运行 Mac Studio Ultra 性能测试
	@echo "$(GREEN)开始运行性能测试...$(NC)"
	@./performance-test.sh

dns: ## DNS 配置工具（中国网络优化）
	@echo "$(GREEN)运行 DNS 配置工具...$(NC)"
	@./dns-config.sh

clean: ## 清理备份文件
	@echo "$(YELLOW)清理备份文件...$(NC)"
	@find ~ -name "*.backup.*" -type f -mtime +30 -print -delete 2>/dev/null || true
	@echo "$(GREEN)已清理超过30天的备份文件$(NC)"

test: verify ## 测试配置（等同于 verify）

install: setup ## 安装配置（等同于 setup）
