2015-07-28 23:51:32 +00:00
|
|
|
# octabuild
|
|
|
|
|
2016-01-30 22:54:43 +00:00
|
|
|
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
|
2015-11-02 20:08:05 +00:00
|
|
|
into a thread pool. Therefore, things such as standard output are unaffected
|
|
|
|
by threading.
|
2015-07-28 23:51:32 +00:00
|
|
|
|
2015-09-13 22:25:07 +00:00
|
|
|
It can be used standalone at this point. Once everything is more done, a
|
|
|
|
library form will be introduced.
|
2015-08-14 15:51:34 +00:00
|
|
|
|
|
|
|
It needs libcubescript to function, which you can fetch at
|
2015-10-05 13:52:58 +00:00
|
|
|
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.
|
2015-08-18 18:14:32 +00:00
|
|
|
|
|
|
|
## Features
|
|
|
|
|
|
|
|
* A real scripting language
|
2015-11-29 22:33:12 +00:00
|
|
|
* Make inspired with a similar style of dependency tracking
|
2015-08-28 07:01:46 +00:00
|
|
|
* Parallel builds
|
2015-09-19 14:37:43 +00:00
|
|
|
* Glob matching
|
2015-10-04 09:59:35 +00:00
|
|
|
* GNU Make style pattern rules
|
2015-08-18 18:14:32 +00:00
|
|
|
|
|
|
|
Upcoming features:
|
|
|
|
|
|
|
|
* Automatic dependency tracking
|
|
|
|
* Shell independence
|
2015-08-30 07:23:02 +00:00
|
|
|
* Platform related utilities
|
2015-11-29 22:33:12 +00:00
|
|
|
* Configurations
|
|
|
|
* and others
|
2015-08-30 07:23:02 +00:00
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
2015-09-13 22:25:07 +00:00
|
|
|
Use the provided Makefile to build - adjust the paths to OctaSTD and
|
|
|
|
libcubescript if necessary. There is a provided example build script
|
|
|
|
in `example`.
|
2015-08-30 07:23:02 +00:00
|
|
|
|
2015-11-12 21:23:56 +00:00
|
|
|
It's also possible to build OctaBuild with OctaBuild. There is a provided
|
|
|
|
obuild.cfg in the main directory.
|
|
|
|
|
2015-08-30 07:23:02 +00:00
|
|
|
The octabuild binary supports the `-h` option to display help.
|
|
|
|
|
2015-12-05 13:50:36 +00:00
|
|
|
Keep in mind that the number of jobs is in addition to main thread (unlike
|
|
|
|
Make, where it specifies the total number of threads).
|
|
|
|
|
2015-08-30 07:23:02 +00:00
|
|
|
## License
|
|
|
|
|
2015-10-04 09:59:35 +00:00
|
|
|
See `COPYING.md`.
|