The OctaForge build system
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Daniel Kolesa 0862578d06 better gitignore 5 years ago
example better gitignore 5 years ago
.gitignore better gitignore 5 years ago trailing newlines 5 years ago
Makefile remove globs.hh 5 years ago readme 5 years ago update against libcubescript 5 years ago update against libcubescript 5 years ago
obuild.cfg remove globs.hh 5 years ago


OctaBuild is a simple build system that uses the Cubescript language to write build definitions without depending on a shell to function. It'll also feature things such as automatic dependency tracking and a large utility library abstracting away platform differences. Unlike Make, the program flow of OctaBuild is single threaded, offloading things such as compiler calls into a thread pool. Therefore, things such as standard output are unaffected by threading.

It can be used standalone at this point. Once everything is more done, a library form will be introduced.

It needs libcubescript to function, which you can fetch at or at as well as OctaSTD at or at


  • A real scripting language
  • Make inspired with a similar style of dependency tracking
  • Parallel builds
  • Glob matching
  • GNU Make style pattern rules

Upcoming features:

  • Automatic dependency tracking
  • Shell independence
  • Platform related utilities
  • Configurations
  • and others


Use the provided Makefile to build - adjust the paths to OctaSTD and libcubescript if necessary. There is a provided example build script in example.

It's also possible to build OctaBuild with OctaBuild. There is a provided obuild.cfg in the main directory.

The octabuild binary supports the -h option to display help.

Keep in mind that the number of jobs is in addition to main thread (unlike Make, where it specifies the total number of threads).