Rig Logo
Rig Build System

Zero Magic, Pure Power

Do anything you need with a general-purpose programming language:

// See the tutorial for how this code works!

c_files: []str = find_src_ext("src", "c");

o_files: []str =
foreach c_file: c_files
	o_file: str = c_file +~ ".o";

	target o_file: c_file
		if config_bool["clang"]
			$ gcc -c -o @(tgt) @(file_dep);
			$ clang -c -o @(tgt) @(file_dep);


target "exec": o_files
	if config_bool["clang"]
		$ gcc -o @(tgt) @(file_dep);
		$ clang -o @(tgt) @(file_dep);

target @all: "exec";

Run builds from the build directory or the source directory:

Set up one-step release builds for users:

Coming Soon!

Fully Cross-Platform

Incremental Builds

First-Class Cross-Compilation

Even for multiple platforms at once.

Dynamic Targets


Can’t remember a useful but complex build config? Save it as a preset!

Standard Library

Want your magic back? Rig will include an opt-in standard library.

Coming Eventually!

Too Much Power? Restrict the Language!

Curses-Like Configuration TUI

Language Server Protocol and Formatter Support for Rig/Yao

Rig/Yao Debugger

Multi-Project Builds for Monorepos


Building Distributed Systems

Dynamic Build Permissions with Capabilities

Package Management

Nix for Mere Mortals

Rig is a professionally supported product of Yzena, LLC.