ref: 9a1b623e8e130ea5be97e1f8fadac1a7a1fa544a wiki.9front.org/mk.md -rw-r--r-- 663 bytes
9a1b623ekvik extra: add phil9's github 1 year, 4 months ago


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.


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