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.
/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.