.PHONY: help clean build rebuild

# 默认目标
help:
	@echo "海上风电场集电线路设计优化系统 - 构建脚本"
	@echo ""
	@echo "可用命令:"
	@echo "  make build    - 使用 .spec 文件生成单文件 exe 程序 (包含自动版本号生成)"
	@echo "  make rebuild  - 清理并重新构建"
	@echo "  make clean    - 清理编译生成的临时文件和缓存"
	@echo "  make help     - 显示此帮助信息"

# 生成单文件exe程序
# 使用 nicegui-pack 打包
build:
	@echo "正在生成版本信息..."
	uv run python make_version.py
	@echo "开始构建程序..."
	uv run nicegui-pack --onefile --windowed --name "海上风电场集电线路设计优化系统" --add-data "version.py:." gui.py
	@echo "正在重命名文件..."
	@uv run python -c "import os, shutil; from version import VERSION; src='dist/海上风电场集电线路设计优化系统.exe'; dst=f'dist/海上风电场集电线路设计优化系统_{VERSION}.exe'; shutil.move(src, dst); print(f'已重命名为: {dst}')"
	@echo "构建完成！"

# 清理编译生成的临时文件
clean:
	@echo "正在清理临时文件..."
	@uv run python -c "import shutil, pathlib; [shutil.rmtree(p) for p in pathlib.Path('.').rglob('__pycache__')]; shutil.rmtree('build', ignore_errors=True); shutil.rmtree('dist', ignore_errors=True)"
	@echo "清理完成！"

nice:
	uv run nicegui-pack --onefile --name "海上风电场集电线路设计优化系统" gui.py --onefile --windowed

# 清理并重新构建
rebuild: clean build
