-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
71 lines (54 loc) · 1.26 KB
/
Copy pathMakefile
File metadata and controls
71 lines (54 loc) · 1.26 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
# Build everything
.PHONY: all build setup clean test lint fmt check
# Default target
all: build
# Setup submodules and dependencies
setup:
./scripts/setup.sh
# Build all Rust crates
build:
cargo build --release
# Build just the GTK app
build-app:
cargo build --release -p themux-app
cargo build --release -p themux-cli
# Build just the CLI
build-cli:
cargo build --release -p themux-cli
# Run tests (Rust)
test:
cargo test --workspace
# Run Python integration tests
test-integration:
cd tests && python -m pytest -v
# Lint
lint:
cargo clippy --workspace -- -D warnings
# Format
fmt:
cargo fmt --all
# Type check
check:
cargo check --workspace
# Clean build artifacts
clean:
cargo clean
rm -rf /build/
# Build cmuxd-remote Go daemon
build-daemon:
cd daemon/cmuxd-remote && go build -o ../../build/cmuxd-remote ./cmd/cmuxd-remote/
# Build Ghostty (via zig)
build-ghostty:
cd ghostty && zig build -Doptimize=ReleaseFast
# Development: watch for changes and rebuild
dev:
cargo watch -x 'build -p themux-app'
# Run the app
run:
cargo run --release -p themux-app
# Run with debug logging
run-debug:
RUST_LOG=themux=debug cargo run -p themux-app
# Package as Flatpak
flatpak:
flatpak-builder --user --install build-dir flatpak/org.themux.Themux.json --force-clean