-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathMakefile
More file actions
77 lines (61 loc) · 1.62 KB
/
Makefile
File metadata and controls
77 lines (61 loc) · 1.62 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
# Zen Language Makefile
.PHONY: all build test clean install lsp format check lint help safe-build mem-watch
all: build
build:
@echo "Building Zen compiler..."
@cargo build --release
@echo "✓ Compiler built"
debug:
@echo "Building Zen compiler (debug)..."
@cargo build
@echo "✓ Debug build complete"
test:
@echo "Running tests..."
@cargo test --all
@echo "✓ Tests complete"
install: build
@echo "Installing Zen compiler..."
@cargo install --path .
@echo "✓ Installed"
lsp:
@echo "Building LSP server..."
@cargo build --release --bin zen-lsp
@echo "✓ LSP built"
format:
@cargo fmt
@echo "✓ Formatted"
check:
@cargo check --all-targets
@echo "✓ Check complete"
lint:
@./scripts/lint.sh
clean:
@cargo clean
@rm -f *.zen.out
@echo "✓ Clean"
docs:
@cargo doc --no-deps --open
safe-build:
@./scripts/safe-build.sh build
mem-watch:
@./scripts/mem-watch.sh
release: clean
@cargo build --release
@strip target/release/zen
@ls -lh target/release/zen
help:
@echo "Zen Language Build System"
@echo ""
@echo " make build - Build compiler (release)"
@echo " make debug - Build compiler (debug)"
@echo " make test - Run all tests"
@echo " make install - Install compiler"
@echo " make lsp - Build LSP server"
@echo " make format - Format code"
@echo " make check - Check without building"
@echo " make lint - Run clippy"
@echo " make clean - Clean artifacts"
@echo " make docs - Build docs"
@echo " make safe-build - Build with OOM protection"
@echo " make mem-watch - Monitor memory"
@echo " make release - Build stripped release"