-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
55 lines (44 loc) · 1.47 KB
/
Makefile
File metadata and controls
55 lines (44 loc) · 1.47 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
# TensorPlane Unified Build System
# Targets: Control Plane (Go), Data Plane (Rust), Data Plane (C++ / io_uring), Docs
.PHONY: all deps build clean run-control run-data data-plane-cpp provision-check docs clean-docs
# --- Default Build ---
all: deps build data-plane-cpp docs
# --- Dependency Management ---
deps:
@echo "==> Fetching Go dependencies..."
cd control_plane && go mod tidy && go mod download
@echo "==> Fetching Rust dependencies..."
cd data_plane && cargo fetch
# --- Compilation ---
build:
@echo "==> Building Go Control Plane..."
mkdir -p bin
cd control_plane && go build -o ../bin/tensorplaned ./cmd/tensorplaned
@echo "==> Building Rust Data Plane (Release)..."
cd data_plane && cargo build --release
# High-Performance C++ Data Plane (io_uring)
data-plane-cpp:
@echo "==> Building C++ User-space Data Plane..."
mkdir -p bin
g++ -O3 -march=native dev_cpp_dataplane/dataplane.cpp -luring -o bin/dataplane_emu
# --- Documentation ---
docs:
@echo "==> Building Sphinx Documentation..."
cd docs && make html
clean-docs:
@echo "==> Cleaning Documentation..."
cd docs && make clean
# --- Execution ---
run-control:
cd control_plane && go run ./cmd/tensorplaned
run-data:
cd data_plane && cargo run -p usrbio
# --- Infrastructure & Quality ---
provision-check:
@echo "==> Verifying local provisioning scripts..."
shellcheck provision/**/*.sh
clean: clean-docs
@echo "==> Cleaning artifacts..."
rm -rf bin/*
rm -rf control_plane/bin
cd data_plane && cargo clean