The OctaForge build system
 
 
 
Go to file
Daniel Kolesa de4003040d trailing newlines 2016-02-07 21:20:44 +00:00
example don't use quotes where not needed 2015-11-06 19:40:09 +00:00
.gitignore gitignore++ 2015-11-26 20:10:05 +00:00
COPYING.md trailing newlines 2016-02-07 21:20:44 +00:00
Makefile no need to link against stdthreads 2016-01-24 15:33:48 +00:00
README.md readme 2016-01-30 23:54:43 +01:00
globs.cc trailing newlines 2016-02-07 21:20:44 +00:00
globs.hh trailing newlines 2016-02-07 21:20:44 +00:00
main.cc trailing newlines 2016-02-07 21:20:44 +00:00
obuild.cfg no need to link against stdthreads 2016-01-24 15:33:48 +00:00

README.md

octabuild

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 https://git.octaforge.org/tools/libcubescript.git or at https://github.com/OctaForge/libcubescript as well as OctaSTD at https://git.octaforge.org/tools/octastd.git or at https://github.com/OctaForge/OctaSTD.

Features

  • 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

Usage

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).

License

See COPYING.md.