# Port Manager Makefile .PHONY: build run clean test help scan random install # 默认目标 all: build # 构建可执行文件 build: @echo "🔨 构建 Port Manager..." @mkdir -p bin @go build -o bin/port-manager cmd/port-manager/main.go @echo "✅ 构建完成: bin/port-manager" # 运行Web服务器(默认端口8080) run: build @echo "🚀 启动 Port Manager Web 界面..." @./bin/port-manager # 运行Web服务器在指定端口 run-port: build @echo "🚀 启动 Port Manager Web 界面 (端口: $(PORT))..." @./bin/port-manager -port $(PORT) # 仅扫描端口 scan: build @./bin/port-manager -scan # 生成随机端口 random: build @./bin/port-manager -random # 生成指定范围的随机端口 random-range: build @./bin/port-manager -random -min $(MIN) -max $(MAX) # 清理构建文件 clean: @echo "🧹 清理构建文件..." @rm -rf bin/ @go clean @echo "✅ 清理完成" # 运行测试 test: @echo "🧪 运行测试..." @go test ./... # 格式化代码 fmt: @echo "📝 格式化代码..." @go fmt ./... # 代码检查 vet: @echo "🔍 代码检查..." @go vet ./... # 更新依赖 mod-tidy: @echo "📦 更新依赖..." @go mod tidy # 安装到系统 install: build @echo "📥 安装到系统..." @sudo cp bin/port-manager /usr/local/bin/ @echo "✅ 安装完成: /usr/local/bin/port-manager" # 显示帮助 help: @echo "Port Manager - NAS 端口管理工具" @echo "" @echo "可用命令:" @echo " make build - 构建可执行文件" @echo " make run - 运行Web界面 (默认端口8080)" @echo " make run-port PORT=9000 - 在指定端口运行Web界面" @echo " make scan - 扫描端口并显示结果" @echo " make random - 生成随机可用端口" @echo " make random-range MIN=3000 MAX=4000 - 生成指定范围随机端口" @echo " make clean - 清理构建文件" @echo " make test - 运行测试" @echo " make fmt - 格式化代码" @echo " make vet - 代码检查" @echo " make mod-tidy - 更新依赖" @echo " make install - 安装到系统" @echo " make help - 显示此帮助" @echo "" @echo "示例:" @echo " make run # 启动Web界面" @echo " make run-port PORT=9000 # 在端口9000启动" @echo " make random-range MIN=3000 MAX=4000 # 生成3000-4000范围内的随机端口" # 开发环境设置 dev-setup: @echo "🛠️ 设置开发环境..." @go mod tidy @go fmt ./... @go vet ./... @echo "✅ 开发环境设置完成"