Mk: A Successor to Make

By Andrew Hume

ABSTRACT

Mk is an efficient general tool for describing and maintaining dependencies between files or programs. Mk is styled on, and largely compatible with, the UNIX tool make. The major advantages of mk over make are executing recipes in parallel, using pattern-matching metarules rather than suffix transformation rules, and deriving dependencies by transitive closure on all rules. Mk runs anywhere from 2 to 30 times faster than make .

This report describes mk by means of an evolving example. Other sections summarize the differences between mk and make and discuss the principles underlying mk ’s design.

See Also