wiki:Documentation

Version 1 (modified by bird, 17 years ago) (diff)

--

The Big Picture

The make tool is called kmk and is a modified GNU make?.

When invoked (without the -f option) this will happen:

  1. kmk will look for Makefile.kmk, makefile.kmk, GNUmakefile, makefile or Makefile in that order and read the first it finds.
  2. In the makefile there are include statements which in turn will cause header.kmk and footer.kmk to be loaded.
  3. header.kmk will setup a bunch of useful variables and load the first Config.kmk or config.kmk file in the directory tree starting from the makefile directory and up to DEPTH.
  4. footer.kmk will generate make goals from the target lists and target properties defined in the makefile.
  5. kmk will start at the default goal (all_recursive) and resolve all its prerequisites.
  6. This will cause the list of passes in DEFAULT_PASSES to be iterated, recusing into subdirectories if configured to do so for each pass.