mk(1)
mk is a build automation tool.
A mkfile is a script that mk can read to derive files from other files.
When given a target, mk reads the rule for the target and calculates a graph of dependencies. mk then derives all targets and dependencies with the recipes given.
All targets and dependencies are assumed to be files, unless the rule is marked virtual.
Pointers
- mk(1) man page
/sys/doc/mk.ps
is the definitive guide./sys/doc/mkfiles.ps
explains the system mkfiles in/sys/src/cmd/
, though some info is outdated.- Amavect has a repo of exercises for absolute beginners of build systems.