Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
113 lines (91 loc) · 3.51 KB
/
Copy pathMakefile
File metadata and controls
113 lines (91 loc) · 3.51 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# socAdmin — Makefile
export PATH := $(shell go env GOPATH)/bin:$(PATH)
BACK_PORT = 8080
FRONT_PORT = 5173
GIT_VERSION := $(shell git describe --tags --exact-match 2>/dev/null || echo "dev")
# --- All : build tout + lance le Manager ---
all: build manager
@echo ""
@echo "✓ socAdmin built → bin/socadmin"
@echo "✓ Manager built → manager/build/bin/"
@echo ""
@echo "Launching socAdmin Manager..."
@open "manager/build/bin/Soca Manager.app" 2>/dev/null || manager/build/bin/soca-manager 2>/dev/null || echo "Run: open \"manager/build/bin/Soca Manager.app\""
# --- Start : lance le Manager (qui gère tout) ---
start:
@echo "Launching socAdmin Manager..."
@open "manager/build/bin/Soca Manager.app" 2>/dev/null || manager/build/bin/soca-manager 2>/dev/null || echo "Manager not built. Run: make all"
# --- Stop : kill backend + ferme le Manager ---
stop:
@echo "Stopping socAdmin..."
@lsof -ti :$(BACK_PORT) | xargs kill -9 2>/dev/null && echo "Backend stopped (:$(BACK_PORT))" || echo "Backend not running"
@pkill -f "soca-manager" 2>/dev/null && echo "Manager stopped" || echo "Manager not running"
# --- Reload : stop tout + clean + rebuild + relance le Manager ---
reload: stop
@sleep 1
@rm -rf manager/frontend/dist manager/build/bin
@$(MAKE) build
@$(MAKE) manager
@$(MAKE) start
# --- Build : compile socAdmin (backend + frontend embed) ---
build:
@echo "Building frontend..."
cd frontend && APP_VERSION=$(GIT_VERSION) npm run build
@echo "Building backend..."
go build -o bin/socadmin .
@echo "Build done → bin/socadmin"
# --- Install les dépendances ---
install:
go mod download
cd frontend && npm install
cd manager/frontend && npm install
# --- Check / Lint ---
check:
go vet ./...
cd frontend && npx tsc -b
cd manager && go vet ./...
# --- Tests ---
test:
go test $$(go list ./... | grep -v node_modules) -count=1
cd frontend && npx vitest run
# --- Manager : build l'app desktop Wails ---
manager:
@echo "Building socAdmin Manager ($(GIT_VERSION))..."
cd manager && wails build -ldflags "-X main.version=$(GIT_VERSION)"
@echo "Manager built → manager/build/bin/"
manager-dev:
@echo "Starting socAdmin Manager (dev mode)..."
cd manager && wails dev
# --- Package : build les installateurs par plateforme ---
# Usage : make package-macos VERSION=1.0.0
VERSION ?= 1.0.0
package-macos:
chmod +x build/macos/package.sh
./build/macos/package.sh $(VERSION)
package-windows:
chmod +x build/windows/package.sh
./build/windows/package.sh $(VERSION)
package-linux:
chmod +x build/linux/package.sh
./build/linux/package.sh $(VERSION)
package-all: package-macos package-windows package-linux
# --- Clean ---
clean:
rm -rf bin/
rm -rf frontend/dist/
rm -rf manager/build/bin/
rm -rf build/*/dist/
clean-db: stop
rm ~/.socadmin/socadmin.db
# --- Status ---
status:
@if lsof -ti :$(BACK_PORT) >/dev/null 2>&1; then echo "Backend: running (:$(BACK_PORT), PID $$(lsof -ti :$(BACK_PORT) | head -1))"; else echo "Backend: stopped"; fi
@if lsof -ti :$(FRONT_PORT) >/dev/null 2>&1; then echo "Frontend: running (:$(FRONT_PORT), PID $$(lsof -ti :$(FRONT_PORT) | head -1))"; else echo "Frontend: stopped"; fi
# --- Push : git add, commit et push en une commande ---
# Usage : make push m="feat: mon message de commit"
push:
@if [ -z "$(m)" ]; then echo "Usage: make push m=\"your commit message\""; exit 1; fi
git add -A
git commit -m "$(m)"
git push
.PHONY: all start stop reload build install check test clean status push manager manager-dev package-macos package-windows package-linux package-all