Files
port-manager/Makefile
2025-09-23 01:47:48 +08:00

100 lines
2.5 KiB
Makefile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 "✅ 开发环境设置完成"