-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
47 lines (36 loc) · 1.13 KB
/
Copy pathMakefile
File metadata and controls
47 lines (36 loc) · 1.13 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
#!/usr/bin/env make
# Makefile for common developer tasks
CARGO := cargo
BINARY := notears-api
.PHONY: help format lint test bench build run clean ci
help:
@echo "Makefile targets: format, lint, test, bench, build, run, clean, ci"
format:
@echo "Running cargo fmt..."
$(CARGO) fmt --all
lint:
@echo "Running cargo clippy (fail on warnings)..."
$(CARGO) clippy --all-targets --all-features -- -D warnings
test:
@echo "Running test suite (debug)..."
$(CARGO) test --all
bench:
@echo "Running benchmarks (core crate)..."
# Run Criterion benches (debug profile) for the core crate
$(CARGO) bench -p notears-core -- --nocapture
build:
@echo "Building release artifacts..."
$(CARGO) build --release
run:
@echo "Running API binary (notears-api)..."
# Runs the example API; adjust manifest-path if needed
# Kill any existing running instance to avoid "Address already in use" errors
pkill -f $(BINARY) || true
$(CARGO) run --manifest-path notears-api/Cargo.toml
clean:
@echo "Cleaning build artifacts..."
$(CARGO) clean
@echo "Removing target/ directory if present"
rm -rf target
ci: format lint test build
@echo "CI checks completed."