-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
69 lines (52 loc) · 2.76 KB
/
Copy pathMakefile
File metadata and controls
69 lines (52 loc) · 2.76 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
PREFIX ?= /usr/local
BUILD_DIR := build
FRONTEND := source-code/frontend
BACKEND := source-code/backend/src-tauri
.PHONY: all frontend backend backend-dev dev install uninstall clean check test check-comphwde
all: frontend backend
## --- Frontend (Solid.js + TypeScript) -----------------------------------
frontend:
cd $(FRONTEND) && npm install && npm run build
## --- Backend (Tauri: `hacker-mode`) + IPC CLI (`hacker-mode-ipcctl`) -----
# Jeden `cargo build --workspace` buduje obie binarki tego repozytorium -
# `hacker-mode` (pakiet `source-code/backend/src-tauri`) i
# `hacker-mode-ipcctl` (pakiet `ipc`) - żadna z nich nie wymaga niczego
# z repozytorium HWDE do zbudowania.
backend: frontend
cargo build --release --workspace
backend-dev: frontend
cargo build --workspace
## --- Tryb deweloperski: uruchamia tylko powłokę Tauri w oknie ------------
dev: frontend
cargo run -p hacker-mode -- dev
## --- Testy jednostkowe (ipc + logika sklepów/launchera w backendzie) -----
test:
cargo test -p hacker-mode-ipc
cargo test -p hacker-mode
check:
cargo check --workspace
cd $(FRONTEND) && npm run check
## --- Instalacja systemowa -------------------------------------------------
# Instaluje: binarki `hacker-mode` i `hacker-mode-ipcctl` (obie zbudowane
# lokalnie, z tego repozytorium), plik sesji dla menedżerów logowania
# (SDDM/GDM/LightDM przez wayland-sessions) oraz skrypt startowy do
# uruchamiania z gołego TTY. WYMAGA jedynie osobno zainstalowanej binarki
# `comphwde` (projekt HWDE) w PATH w czasie działania sesji - patrz
# `check-comphwde` i README.
check-comphwde:
@command -v comphwde >/dev/null || { echo "Brak 'comphwde' w PATH - zainstaluj projekt HWDE (patrz README, sekcja 'Zależność: comphwde') przed uruchomieniem sesji Hacker Mode. Budowa samego Hacker Mode ('make all') tego nie wymaga."; exit 1; }
install: all
install -Dm755 target/release/hacker-mode $(DESTDIR)$(PREFIX)/bin/hacker-mode
install -Dm755 target/release/hacker-mode-ipcctl $(DESTDIR)$(PREFIX)/bin/hacker-mode-ipcctl
install -Dm755 scripts/hacker-mode-session $(DESTDIR)$(PREFIX)/bin/hacker-mode-session
install -Dm644 scripts/hacker-mode.desktop $(DESTDIR)/usr/share/wayland-sessions/hacker-mode.desktop
@echo "Zainstalowano. Sesję 'Hacker Mode' powinno być widać na ekranie logowania (SDDM/GDM/LightDM)."
@echo "Do uruchomienia sesji potrzebna jest jeszcze binarka 'comphwde' (projekt HWDE) w PATH - patrz README ('make check-comphwde' sprawdzi)."
uninstall:
rm -f $(DESTDIR)$(PREFIX)/bin/hacker-mode
rm -f $(DESTDIR)$(PREFIX)/bin/hacker-mode-ipcctl
rm -f $(DESTDIR)$(PREFIX)/bin/hacker-mode-session
rm -f $(DESTDIR)/usr/share/wayland-sessions/hacker-mode.desktop
clean:
cargo clean
rm -rf $(FRONTEND)/dist $(FRONTEND)/node_modules