.TH M2MM 1 "$Revision$" .ad .SH NAME m2mm \- Modula-2 makefile generator .SH SYNOPSIS \fBm2mm\fP [ \fB-I\fPdir \fB-L\fPdir \fB-l\fPlibrary \fB-M\fPflags \fB-C\fPcompiler \fB-S\fPsuffix ] file ... .SH DESCRIPTION .I M2mm is a makefile generator and fast syntax checker for Modula-2 programs. The makefile is produced on standard output. .I M2mm will generate rules to produce an object file for every module used in the argument files. In addition, it will generate a rule to make a program, for each of the program modules given as argument. Using .IR make (1) without an argument will make all these programs. .PP In the makefile, the variables \fBMOD\fP, \fBM2FLAGS\fP, \fBIFLAGS\fP, \fBLIBS\fP, and \fBSUFFIX\fP will be defined. The generated rules have the following form: .IP "\fIname\fP.$(SUFFIX): ..." .br $(MOD) -c $(M2FLAGS) $(IFLAGS) \fIname\fP.mod .PP .I M2mm recognizes the following options: .IP \fB-I\fP\fIdir\fP Add \fIdir\fP to the list of directories where definition modules are looked for. Also add the flag to \fBIFLAGS\fP. The default value for \fBIFLAGS\fP is empty. .IP \fB-L\fP\fIdir\fP Add \fIdir\fP to the list of directories where definition modules are looked for. Also add the corresponding \fB-I\fP flag to \fBIFLAGS\fP. The difference with the \fB-I\fP flag is, that the \fB-L\fP directories are considered interfaces to libraries, and thus no rules are generated using or creating object files for modules found in these directories. Instead, the user is expected to add a library to the \fBLIBS\fP macro, using the \fB-l\fP flag. .IP \fB-M\fP\fIflags\fP Set \fBM2FLAGS\fP to \fIflags\fP. .IP \fB-C\fP\fIcompiler\fP Set \fBMOD\fP to \fIcompiler\fP. The default value for \fBMOD\fP is "m2". .IP \fB-l\fP\fIlibrary\fP Add \fIlibrary\fP to the \fBLIBS\fP macro. This macro is initially empty, and is passed to the loader. .IP \fB-S\fPsuffix Set \fBSUFFIX\fP to \fIsuffix\fP. The default suffix is "o". .SH SEE ALSO .IR make "(1), " modula-2 (1) .SH DIAGNOSTICS Are intended to be self-explanatory.