# m3build

The Modula-3 compiler, m3build, contains a quake interpreter to process platform dependent templates and package descriptions, `m3makefile`. It performs a much finer grained dependency analysis than `make`, thus reducing needless recompilation.

- Packages
- m3build command line options
- Error reporting
- Package descriptions in m3makefiles
- A simple example
- m3build processing steps
- A tour of the compiler internals

When SRC Modula-3 is configured and installed, several public repositories are identified. In these web pages we refer to them with the following short names:

/bin
  shared executable programs (e.g. `/usr/local/bin`).
/lib
  shared libraries (e.g. `/usr/local/lib/m3/LINUXELF`).
/doc
  shared documentation (e.g. `/usr/local/lib/m3/doc`).
/pkg
  public packages (e.g. `/usr/local/lib/m3/pkg`).
/emacs
  shared gnuemacs lisp code (e.g. `/usr/local/lib/elisp`).
/man
  installed man pages (e.g. `/usr/local/man`).
/html
  installed HTML sources (e.g. `/usr/local/lib/m3/www`).

    Last modified on Thu Mar  7 18:08:53 PST 1996 by heydon
         modified on Fri Jul 22 07:57:04 PDT 1994 by kalsow
         modified on Wed May 19 11:36:32 PDT 1993 by mjordan
         modified on Tue Oct 13 16:39:21 PDT 1992 by muller
         modified on Tue Sep 22 08:36:57 PDT 1992 by mhb