ToaruOS-NIH's build system is based on a combination of Make and a Python script. The kernel and modules are built from the top level Makefile without much assistance. Multiple uses of the `wildcard` function allow kernel source files to be identified automatically without changes to the Makefile. The userspace is a bit more complicated. Userspace applications have dependencies on shared libraries and must be built in particular orders and have the right link arguments. To facilitate this, both applications and libraries are passed through a Python script to identify dependencies through `#include` directives, generating submakefiles which are then included by the top-level Makefile.