-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
90 lines (76 loc) Β· 4.23 KB
/
Makefile
File metadata and controls
90 lines (76 loc) Β· 4.23 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
##############################################################################
## ArchTask-Pro GUI β Makefile (Wails v2 + React)
##############################################################################
BINARY := archtask-pro
DESTDIR ?= /usr/local/bin
POLKIT_DIR := /usr/share/polkit-1/rules.d
GO := go
WAILS := wails
.PHONY: all dev build install uninstall clean polkit deps fmt help
##ββ Default: dev mode ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
all: deps dev
##ββ Install Wails CLI if missing βββββββββββββββββββββββββββββββββββββββββββββ
install-wails:
@command -v wails >/dev/null 2>&1 || \
$(GO) install github.com/wailsapp/wails/v2/cmd/wails@latest
@echo "β Wails CLI ready"
##ββ Install all dependencies βββββββββββββββββββββββββββββββββββββββββββββββββ
deps: install-wails
@echo "β Go dependenciesβ¦"
$(GO) mod tidy
@echo "β Node dependenciesβ¦"
cd frontend && npm install
@echo "β Dependencies ready"
##ββ Dev mode: hot-reload (Go + Vite) βββββββββββββββββββββββββββββββββββββββββ
dev:
@echo "β Starting dev serverβ¦"
$(WAILS) dev
##ββ Production build βββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
build:
@echo "β Building production binaryβ¦"
$(WAILS) build -clean -o $(BINARY)
@echo "β Binary: ./build/bin/$(BINARY)"
##ββ Build with debug symbols βββββββββββββββββββββββββββββββββββββββββββββββββ
build-debug:
$(WAILS) build -debug -o $(BINARY)-debug
##ββ Install system-wide ββββββββββββββββββββββββββββββββββββββββββββββββββββββ
install: build
install -Dm755 build/bin/$(BINARY) $(DESTDIR)/$(BINARY)
@echo "β Installed to $(DESTDIR)/$(BINARY)"
##ββ Install polkit rules (passwordless cpupower + systemctl) βββββββββββββββββ
polkit:
install -Dm644 polkit/10-archtask-pro.rules \
$(POLKIT_DIR)/10-archtask-pro.rules
@echo "β Polkit rule installed"
##ββ Uninstall ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
uninstall:
rm -f $(DESTDIR)/$(BINARY)
rm -f $(POLKIT_DIR)/10-archtask-pro.rules
@echo "β Uninstalled"
##ββ Format Go code βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
fmt:
$(GO) fmt ./...
##ββ Clean build artifacts ββββββββββββββββββββββββββββββββββββββββββββββββββββ
clean:
rm -rf build/
$(GO) clean -cache
@echo "β Clean"
##ββ Help βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
help:
@echo ""
@echo " ArchTask-Pro GUI Build System (Wails v2)"
@echo ""
@echo " make deps β install Wails CLI + Go & Node deps"
@echo " make dev β hot-reload dev mode"
@echo " make build β production build"
@echo " make install β install binary to $(DESTDIR)"
@echo " make polkit β install polkit rule (run as root)"
@echo " make uninstall β remove binary + polkit rule"
@echo " make clean β remove build artifacts"
@echo ""
@echo " Quick start:"
@echo " make deps && make dev"
@echo ""
@echo " Full install:"
@echo " make build && make install && sudo make polkit"
@echo ""