Initial working implementation (MVP)
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
.PHONY: all setup agent ui clean check help
|
||||
|
||||
# Default target: builds everything
|
||||
all: ui
|
||||
|
||||
# Install the required rust target for static agent builds
|
||||
setup:
|
||||
rustup target add x86_64-unknown-linux-musl
|
||||
|
||||
# Build the agent statically (Zero dynamic dependencies)
|
||||
agent:
|
||||
@echo "Building rmon-agent (static x86_64-musl)..."
|
||||
cargo build --release --target x86_64-unknown-linux-musl -p rmon-agent
|
||||
|
||||
# Build the UI
|
||||
# Note: This depends on 'agent' because rmon-ui embeds the agent binary via include_bytes!
|
||||
ui: agent
|
||||
@echo "Building rmon-ui..."
|
||||
cargo build --release -p rmon-ui
|
||||
|
||||
# Run all workspace tests
|
||||
check:
|
||||
cargo test --workspace -- --test-threads=1
|
||||
|
||||
# Generate coverage report (requires cargo-tarpaulin)
|
||||
coverage:
|
||||
cargo tarpaulin --workspace --timeout 120 --out Lcov --output-dir target/coverage
|
||||
|
||||
# Clean all build artifacts
|
||||
clean:
|
||||
cargo clean
|
||||
|
||||
# Show help
|
||||
help:
|
||||
@echo "RMon Build System"
|
||||
@echo ""
|
||||
@echo "Targets:"
|
||||
@echo " setup - Install the x86_64-musl rust target"
|
||||
@echo " agent - Build the statically-linked agent binary"
|
||||
@echo " ui - Build the desktop UI (includes the agent binary)"
|
||||
@echo " all - Build both (default)"
|
||||
@echo " check - Run all workspace tests"
|
||||
@echo " clean - Remove build artifacts"
|
||||
Reference in New Issue
Block a user