A Modula-3 makefile (called m3makefile) contains instructions (one per line) that instruct the compiler how to build a program or library. A makefile instruction is followed by one or more arguments in parenthesis, similar to a procedure call in a scripting language.
Modula-3 makefiles are a lot simpler than their Unix-based counterparts because the compiler can keep track of unit dependencies a lot easier. In fact, for simple programs you can omit the makefile, and the builder will automatically find your modules and interfaces and their dependencies. (In our examples, we always include m3makefiles.)
Each instruction may specify a library, interface, or module to be included as part of the build. Comments in m3makefiles are denoted by %.