100 lines
2.5 KiB
Makefile
100 lines
2.5 KiB
Makefile
# 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 "✅ 开发环境设置完成"
|