Cook is a build system designed to make life easy.
It is extensible, dynamic, fast, parallel and cross-platform.

Simple

Reasoning about and changing your build is breeze with Cook, not only because of an appropriate language. Learn more ...

Cross Platform

The build system will take care of practically all tedious platform-specific details for you. Learn more ...

Extensible

Write custom rules easily in next to no time thanks to the intuitive but powerful API and Python. Learn more ...

Fast

Save productive time because of speedy configuration and parallel, incremental and minimal rebuilds. Learn more ...

Correct

Always get a correct, reproducible build. There is absolutely no need to do complete rebuilds. Learn more ...

Multipurpose

Cook includes rules for many languages or use cases and offers nice integration between them. Learn more ...

••• ~/project/BUILD.py
from cook import core, cpp

utils = cpp.shared_library(
    name='utils',
    sources=core.glob('utils/*.cpp'),
)

cpp.executable(
    name='main',
    sources=core.glob('main/*.cpp'),
    link=[utils, 'boost_regex']
)

“I'm tired of crippled DSLs that creak when you inevitably push them where they weren't meant to go.” — oblio, on Reddit