OctaBuild/README.md

54 lines
1.7 KiB
Markdown
Raw Normal View History

2015-07-29 01:51:32 +02:00
# octabuild
2016-01-30 23:54:43 +01: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 21:08:05 +01:00
into a thread pool. Therefore, things such as standard output are unaffected
by threading.
2015-07-29 01:51:32 +02:00
2015-09-14 00:25:07 +02:00
It can be used standalone at this point. Once everything is more done, a
2017-06-22 18:50:45 +02:00
library form will be introduced. Several of the features are currently
present via libostd (such as glob matching).
2015-08-14 17:51:34 +02:00
It needs libcubescript to function, which you can fetch at
2015-10-05 15:52:58 +02:00
https://git.octaforge.org/tools/libcubescript.git or at
2017-06-06 19:21:47 +02:00
https://github.com/OctaForge/libcubescript as well as libostd
at https://git.octaforge.org/tools/libostd.git or at
https://github.com/OctaForge/libostd.
2015-08-18 20:14:32 +02:00
## Features
* A real scripting language
2015-11-29 23:33:12 +01:00
* Make inspired with a similar style of dependency tracking
2015-08-28 09:01:46 +02:00
* Parallel builds
2015-09-19 16:37:43 +02:00
* Glob matching
2015-10-04 11:59:35 +02:00
* GNU Make style pattern rules
2015-08-18 20:14:32 +02:00
Upcoming features:
* Automatic dependency tracking
* Shell independence
2015-08-30 09:23:02 +02:00
* Platform related utilities
2015-11-29 23:33:12 +01:00
* Configurations
* and others
2015-08-30 09:23:02 +02:00
## Usage
2015-09-14 00:25:07 +02: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 09:23:02 +02:00
It's also possible to build OctaBuild with OctaBuild. There is a provided
obuild.cfg in the main directory.
2015-08-30 09:23:02 +02:00
The octabuild binary supports the `-h` option to display help.
2015-12-05 14:50:36 +01: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 09:23:02 +02:00
## License
2015-10-04 11:59:35 +02:00
See `COPYING.md`.