The only build system that feels like part of the language

#include "build.h"  // That's it.

No build tools, just code.

terminal
$ gcc -o build build.c
$ ./build
[INFO] IncludeBuild v1.0.0 initialized
[INFO] Adding source file: main.c
[INFO] Compiling: main.c
[INFO] Linking: my_program
[INFO] Build successful in 0.12s
$

Why IncludeBuild?

Header-Only

Single file inclusion with no dependencies

Minimal

Small API that's easy to learn and use

Portable

Works across platforms with no additional requirements

Transparent

Clearly see what's happening during builds

Fast

Efficient compilation with parallel build support

Flexible

Handles everything from simple projects to complex builds

Get Started in Seconds

# Option 1: Copy directly to your project
cp includebuild/build.h your_project/

# Option 2: Copy to system include directory
git clone https://github.com/korzewarrior/includebuild.git
sudo mkdir -p /usr/local/include/includebuild
sudo cp includebuild/build.h /usr/local/include/includebuild/
// build.c
#include "build.h"

int main() {
    // Initialize IncludeBuild
    ib_init();
    
    // Enable verbose output
    ib_set_verbose(true);
    
    // (Optional) Add a specific target
    ib_add_target("my_program", "main.c");
    
    // Run the build
    ib_build();
    
    return 0;
}
# Compile your build script
gcc -o build build.c

# Run it to build your project
./build

# That's it! Now run your program
./my_program

Examples

Basic

A simple single-file project demonstrating the minimal setup.

View Example

Multi-file

Building a project with multiple source files and dependencies.

View Example

Library

Building and linking against a static library.

View Example

Game

A complete game using external libraries.

View Example

How does it compare?

Feature IncludeBuild Makefiles CMake
Self-contained Single header × Requires external tool × Requires CMake
Learning curve Just C ⚠️ Custom syntax × Complex syntax
Power ⚠️ Medium High Very high
Transparency High ⚠️ Medium × Low
Large projects ⚠️ Medium Good Excellent
Makefiles have Makefile syntax. CMake has CMakeLists.txt. IncludeBuild has... nothing. Just code.

Documentation