This repository was archived by the owner on Nov 1, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathSummary
28 lines (24 loc) · 1.51 KB
/
Summary
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
LML-Make - a tool for automated compilation of LML programs
LML-Make is a tool similar to the standard Unix Make tool, but tailor
made for compiling LML programs. It has at least two advantages over
the standard Make tool:
* LML-Make automatically extract dependencies from the source files.
This removes the need to construct and maintain Makefiles of the kind
used by the ordinary Make tool, and it makes it easy to compile large
programs distributed over several directories or to keep several
smaller programs, possibly sharing some modules, in the same
directory.
* The LML compiler differs from the compilers taken into account when
the standard Make tool was designed in that it generates two files for
each module compiled: an object file and and interface file. The object
file is updated each time the module is compiled. The interface file is
updated only when the interface information changes, in which case it
will be necessary to recompile other modules that import from this
module. This behaviour is tricky (although possible, unless you want to
be able to compile independent modules in parallel) to express in the
Makefiles used by Make, but is handled correctly by LML-Make.
LML-Make is implemented as an LML program and a shell script. The LML
program extracts the dependencies from the source files and generates
the appropriate list of compilation commands in the appropriate order.
The shell script parses command line arguments, invokes the LML program
and finally executes the commands generated by the LML program.