bake is a minimal and fast alternative to Make, written in Rust made for developers to improve efficiency. bake uses its own "Bakefile" system with a YAML-like syntax, but also supports simple Makefiles.
Remote (install.c)
Linux/macOS:
curl -sL https://raw.githubusercontent.com/myferr/bake/main/install.c | gcc -xc -o install - && ./install && rm installWindows (PowerShell):
(Invoke-WebRequest -Uri "https://raw.githubusercontent.com/myferr/bake/main/install.c").Content | gcc -xc -o install - && ./install && Remove-Item install, install.exe -ErrorAction SilentlyContinueCross-platform (Cargo):
cargo install bake-toolCross-platform (brew):
brew tap myferr/bake && brew install bakeRun bake in the directory containing a Bakefile or Makefile:
bake [task]If no task is specified, the default task (if defined) is executed.
You can list all tasks with:
bake --listbake supports these commands and options:
| Command/Option | Description |
|---|---|
bake |
Runs the default task |
bake <task> |
Runs the specified task |
bake --list |
Lists all available tasks |
bake --help |
Shows help information |
bake --makefile <task> |
Run a task from a Makefile |
Bakefiles use a YAML-like syntax defining tasks and their commands:
build:
cargo build
test:
cargo test
clean:
cargo clean
default: buildEach task maps to one or more shell commands executed in order. The default task is run when no task is specified.
