-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathMakefile
More file actions
54 lines (46 loc) · 1.48 KB
/
Makefile
File metadata and controls
54 lines (46 loc) · 1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# 定义Go二进制文件名称
BINARY_NAME=mysql2pg
# 定义源码目录
SRC_DIR=./cmd
# 定义相关文件
CONFIG_FILE=config.yml
ERROR_FILE=errors.log
CONVERSION_FILE=conversion.log
# 版本号:优先使用 git tag,否则使用 dev
VERSION ?= $(shell git describe --tags --abbrev=0 2>/dev/null || echo "dev")
# 构建项目
build:
@echo "正在构建项目 (版本: $(VERSION))..."
@go build -ldflags "-X main.Version=$(VERSION)" -o $(BINARY_NAME) $(SRC_DIR)/
@echo "构建完成!可执行文件: $(BINARY_NAME)"
# 运行项目
run:
@echo "正在运行项目..."
@go run $(SRC_DIR)/ -c $(CONFIG_FILE)
# 测试数据库连接
test-connection:
@echo "正在测试数据库连接..."
@go run $(SRC_DIR)/ -c $(CONFIG_FILE)
# 清理构建产物
clean:
@echo "正在清理构建产物..."
@rm -f $(BINARY_NAME)
@rm -f $(ERROR_FILE)
@rm -f $(CONVERSION_FILE)
@echo "清理完成!"
# 显示帮助信息
help:
@echo "MySQL2PG - MySQL到PostgreSQL转换工具"
@echo "使用方法: make [命令]"
@echo ""
@echo "可用命令:"
@echo " build 构建项目,生成可执行文件"
@echo " run 运行项目,使用默认配置文件"
@echo " test-connection 测试数据库连接,使用测试配置文件"
@echo " clean 清理构建产物"
@echo " help 显示帮助信息"
@echo ""
@echo "示例:"
@echo " make build # 构建项目"
@echo " make run # 运行项目"
@echo " make clean # 清理构建产物"