-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
75 lines (61 loc) · 1.89 KB
/
Copy pathMakefile
File metadata and controls
75 lines (61 loc) · 1.89 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
.PHONY: all install backend frontend run dev build clean release fnpack docker help
all: install build
ARGS ?=
install:
cd backend && go mod tidy
cd frontend && npm install
backend:
cd backend && go build -o sqlite-manager .
frontend:
cd frontend && npm run build
build: backend frontend
rm -rf backend/public
mkdir -p backend/public/sqlite-web backend/public/img
cp frontend/dist/index.html backend/public/
cp -r frontend/dist/sqlite-web/* backend/public/sqlite-web/
cp -r frontend/public/img/* backend/public/img/ 2>/dev/null || true
run: build
cd backend && ./sqlite-manager $(ARGS)
dev: backend
@echo "============================================"
@echo " 开发模式启动"
@echo "============================================"
@echo "后端 API: http://localhost:8903"
@echo "前端页面: http://localhost:5173"
@echo "============================================"
@echo ""
@echo "按 Ctrl+C 停止所有服务"
@echo ""
@trap 'kill $$BACKEND_PID $$FRONTEND_PID 2>/dev/null; exit' INT; \
cd backend && ./sqlite-manager -no-browser $(ARGS) & BACKEND_PID=$$!; \
sleep 1; \
cd frontend && npm run dev & FRONTEND_PID=$$!; \
wait
release:
./build.sh
platforms:
./scripts/build-all.sh
fnpack:
./scripts/build-fnpack.sh
docker:
./scripts/build-docker.sh
help:
@echo "用法:"
@echo " make build 构建项目 (本地运行)"
@echo " make run 运行应用"
@echo " make dev 开发模式"
@echo ""
@echo " make release 一键打包所有 (平台+飞牛+Docker)"
@echo " make platforms 只打包各平台"
@echo " make fnpack 只打包飞牛应用"
@echo " make docker 构建 Docker 多平台镜像"
@echo ""
@echo " make clean 清理构建文件"
clean:
rm -rf backend/sqlite-manager
rm -rf backend/public
rm -rf backend/data
rm -rf frontend/dist
rm -rf frontend/node_modules
rm -rf release
cd backend && go clean