Pristine Ack-5.5
[Ack-5.5.git] / lang / m2 / m2mm / m2mm.1
1 .TH M2MM 1 "$Revision: 1.5 $"
2 .ad
3 .SH NAME
4 m2mm \- Modula-2 makefile generator
5 .SH SYNOPSIS
6 \fBm2mm\fP [ \fB-I\fPdir \fB-L\fPdir \fB-l\fPlibrary \fB-M\fPflags \fB-C\fPcompiler \fB-S\fPsuffix ] file ...
7 .SH DESCRIPTION
8 .I M2mm
9 is a makefile generator and fast syntax checker for Modula-2 programs.
10 The makefile is produced on standard output.
11 .I M2mm
12 will generate rules to produce an object file
13 for every module used in the argument files.
14 In addition, it will generate a rule to make a program, for each of the
15 program modules given as argument.
16 Using 
17 .IR make (1)
18 without an argument will make all these programs.
19 .PP
20 In the makefile, the variables \fBMOD\fP, \fBM2FLAGS\fP, \fBIFLAGS\fP, \fBLIBS\fP, and
21 \fBSUFFIX\fP will be defined.
22 The generated rules have the following form:
23 .IP "\fIname\fP.$(SUFFIX): ..."
24 .br
25 $(MOD) -c $(M2FLAGS) $(IFLAGS) \fIname\fP.mod
26 .PP
27 .I M2mm
28 recognizes the following options:
29 .IP \fB-I\fP\fIdir\fP
30 Add \fIdir\fP to the list of directories where definition modules are 
31 looked for. Also add the flag to \fBIFLAGS\fP.
32 The default value for \fBIFLAGS\fP is empty.
33 .IP \fB-L\fP\fIdir\fP
34 Add \fIdir\fP to the list of directories where definition modules are 
35 looked for. Also add the corresponding \fB-I\fP flag to \fBIFLAGS\fP.
36 The difference with the \fB-I\fP flag is, that the \fB-L\fP directories are considered
37 interfaces to libraries, and thus no rules are generated using or creating
38 object files for modules found in these directories. Instead, the user is
39 expected to add a library to the \fBLIBS\fP macro, using the \fB-l\fP flag.
40 .IP \fB-M\fP\fIflags\fP
41 Set \fBM2FLAGS\fP to \fIflags\fP.
42 .IP \fB-C\fP\fIcompiler\fP
43 Set \fBMOD\fP to \fIcompiler\fP.
44 The default value for \fBMOD\fP is "m2".
45 .IP \fB-l\fP\fIlibrary\fP
46 Add \fIlibrary\fP to the \fBLIBS\fP macro. This macro is initially empty,
47 and is passed to the loader.
48 .IP \fB-S\fPsuffix
49 Set \fBSUFFIX\fP to \fIsuffix\fP.
50 The default suffix is "o".
51 .SH SEE ALSO
52 .IR make "(1), " modula-2 (1)
53 .SH DIAGNOSTICS
54 Are intended to be self-explanatory.