mk

Task runner for targets described in Mkfile. Mostly used to control the compilation of an executable from source code. More information: <http://doc.cat-v.org/plan_9/4th_edition/papers/mk>.

Install

All systems
curl cmd.cat/mk.sh
Debian Debian
apt-get install 9base
Ubuntu
apt-get install 9base
Arch Arch Linux
pacman -S 9base
image/svg+xml Kali Linux
apt-get install 9base
Windows (WSL2)
sudo apt-get update sudo apt-get install 9base
Raspbian
apt-get install 9base

Task runner for targets described in Mkfile. Mostly used to control the compilation of an executable from source code. More information: <http://doc.cat-v.org/plan_9/4th_edition/papers/mk>.

  • Call the first target specified in the Mkfile (usually named "all"):
    mk
  • Call a specific target:
    mk target
  • Call a specific target, executing 4 jobs at a time in parallel:
    NPROC=4 mk target
  • Force mking of a target, even if source files are unchanged:
    mk -wtarget target
  • Assume all targets to be out of date. Thus, update `target` and all of its dependencies:
    mk -a target
  • Keep going as far as possible on error:
    mk -k

© tl;dr; authors and contributors