2017-04-23 11:20:10 +10:00
# Building MultICE
MultICE uses a relatively simple build system. It has been tested on Arch Linux, Debian Linux, OpenOS and Plan9k.
## 1. Choose modules.
2017-05-20 06:43:09 +10:00
The system is made out of modules from the `modules/` directory. When you run the build script, it assembles them, and optionally optimises the code for space.
2017-04-24 01:32:54 +10:00
There are a number of preconfigured module sets in the `config/` directory, and you can of course you can write your own.
2017-04-23 11:20:10 +10:00
2017-04-24 01:32:54 +10:00
The build system defaults to a file called `modules.cfg` in the current directory. You can specify a config file using `--modconfig=file.cfg` .
2017-04-23 11:20:10 +10:00
## 2. Configure build system
2017-04-24 01:32:54 +10:00
The build system has a configuration file `build.cfg` , though another can be specified using `--cfgfile=file.cfg` .
### `optimise`
2017-04-23 11:20:10 +10:00
Can either be yes or no.
Specifies whether to run the simple optimisation function on the kernel.
### `test`
Can either be yes or no.
Specifies whether to test the final kernel (using load). Only picks up syntax errors.
### `log`
Can either be yes or no.
Specifies whether to output log files.
### `opath`
Specifies where to put the output kernel.
2017-04-24 01:32:54 +10:00
### `ospath`
Specifies where to put the output kernel after being optimised.
2017-04-23 11:20:10 +10:00
## 3. Build.
Simply run `build.lua` . Under OpenOS or plan9k that may just be going to the right dir and entering `build` , but under proper UNIX systems it may involve `lua build.lua` .