-
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 ""