# Makefile for nlt-pufa-interface

# 变量定义
APP_NAME=pf
BUILD_DIR=./build
PROD_PATH=/data/docker-compose/tk

# 默认目标
.PHONY: help
help:
	@echo "可用命令:"
	@echo "  build       - 编译Go程序"
	@echo "  build-linux - 交叉编译Linux生产版本"
	@echo "  clean       - 清理构建文件"
	@echo "  dev         - 本地开发环境运行"
	@echo "  deploy      - 部署到生产环境"
	@echo "  restart     - 重启生产服务"
	@echo "  logs        - 查看生产日志"
	@echo "  status      - 查看服务状态"

# 本地编译
.PHONY: build
build:
	@echo "编译Go程序..."
	go build -o $(APP_NAME) .

# 交叉编译Linux版本（用于生产环境）
.PHONY: build-linux
build-linux:
	@echo "交叉编译Linux版本..."
	CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o $(APP_NAME) .

# 清理构建文件
.PHONY: clean
clean:
	@echo "清理构建文件..."
	rm -f $(APP_NAME)
	rm -rf $(BUILD_DIR)

# 部署到生产环境
.PHONY: deploy
deploy: build-linux
	@echo "部署到生产环境..."
	@if [ ! -d "$(PROD_PATH)" ]; then \
		echo "生产目录不存在: $(PROD_PATH)"; \
		exit 1; \
	fi
	cp $(APP_NAME) $(PROD_PATH)/
	cp -r html $(PROD_PATH)/
	@echo "部署完成，重启服务..."
	$(MAKE) restart

# 重启生产服务
.PHONY: restart
restart:
	@echo "重启生产服务..."
	cd /data/docker-compose/tk && docker-compose -f docker-compose.yml restart tkservice

# 查看生产日志
.PHONY: logs
logs:
	@echo "查看生产日志..."
	cd /data/docker-compose/tk && docker-compose -f docker-compose.yml logs -f tkservice

# 查看服务状态
.PHONY: status
status:
	@echo "查看服务状态..."
	cd /data/docker-compose/tk && docker-compose -f docker-compose.yml ps

# 开发环境运行
.PHONY: dev
dev:
	@echo "启动开发环境..."
	go run main.go





# 测试
.PHONY: test
test:
	@echo "运行测试..."
	go test ./... 