6.1 Interface files
Files whose names end in
.int, .int2, .int0 and .int3 are interface files.
In the order of their usual creation,
-
.int3 files are created by invoking ‘mmc’ with the
‘--make-short-interface’ (or ‘--make-short-int’) option.
Roughly, they contain basic information about the entities
defined in the interface section of the module,
and exported from the module to all other modules importing this one.
Their purpose is to provide the information needed
for the generation of the other kinds of interface files below.
-
.int0 files are created by invoking ‘mmc’ with the
‘--make-private-interface’ (or ‘--make-priv-int’) option.
They contain a list of the entities
defined in the implementation section of the module
that are available only to its own submodules.
Modules that do not have any submodules won’t have .int0 files.
-
.int and .int2 are both created,
at the same time, by invoking ‘mmc’ with the
‘--make-interface’ (or ‘--make--int’) option.
The difference between them is that e.g.
module_a.int is intended to contain
everything that is needed by another module, such as ‘module_b’,
that imports ‘module_a’ directly,
while module_a.int2 is intended to contain what is needed
by another module, such as ‘module_c’,
that imports ‘module_a’ indirectly.