feat: initail commit
This commit is contained in:
85
Makefile
Normal file
85
Makefile
Normal file
@@ -0,0 +1,85 @@
|
||||
.PHONY: build run dev clean install test check fmt clippy examples help
|
||||
|
||||
# Default target
|
||||
all: build
|
||||
|
||||
# Build the project
|
||||
build:
|
||||
cargo build
|
||||
|
||||
# Build optimized release version
|
||||
build-release:
|
||||
cargo build --release
|
||||
|
||||
# Run the server
|
||||
run:
|
||||
cargo run
|
||||
|
||||
# Run in development mode with logging
|
||||
dev:
|
||||
RUST_LOG=info cargo run
|
||||
|
||||
# Clean build artifacts
|
||||
clean:
|
||||
cargo clean
|
||||
|
||||
# Install dependencies and build
|
||||
install:
|
||||
cargo fetch
|
||||
cargo build
|
||||
|
||||
# Run tests
|
||||
test:
|
||||
cargo test
|
||||
|
||||
# Check code without building
|
||||
check:
|
||||
cargo check
|
||||
|
||||
# Format code
|
||||
fmt:
|
||||
cargo fmt
|
||||
|
||||
# Run clippy linter
|
||||
clippy:
|
||||
cargo clippy -- -D warnings
|
||||
|
||||
# Run API examples (requires server to be running)
|
||||
examples:
|
||||
./examples.sh
|
||||
|
||||
# Start server in background and run examples
|
||||
demo: build
|
||||
@echo "Starting server in background..."
|
||||
@cargo run & echo $$! > .server.pid
|
||||
@sleep 3
|
||||
@echo "Running examples..."
|
||||
@./examples.sh || true
|
||||
@echo "Stopping server..."
|
||||
@if [ -f .server.pid ]; then kill `cat .server.pid` && rm .server.pid; fi
|
||||
|
||||
# Development setup
|
||||
setup:
|
||||
@echo "Setting up development environment..."
|
||||
@rustup component add rustfmt clippy
|
||||
@echo "Done! Run 'make run' to start the server."
|
||||
|
||||
# Show help
|
||||
help:
|
||||
@echo "Hyprmonitors Makefile"
|
||||
@echo ""
|
||||
@echo "Available targets:"
|
||||
@echo " build - Build the project"
|
||||
@echo " build-release - Build optimized release version"
|
||||
@echo " run - Run the server"
|
||||
@echo " dev - Run with debug logging"
|
||||
@echo " clean - Clean build artifacts"
|
||||
@echo " install - Install dependencies and build"
|
||||
@echo " test - Run tests"
|
||||
@echo " check - Check code without building"
|
||||
@echo " fmt - Format code"
|
||||
@echo " clippy - Run linter"
|
||||
@echo " examples - Run API examples (server must be running)"
|
||||
@echo " demo - Start server and run examples"
|
||||
@echo " setup - Setup development environment"
|
||||
@echo " help - Show this help"
|
||||
Reference in New Issue
Block a user