V10/cmd/sml/doc/makeml.1

.TH MAKEML 1
.SH NAME
makeml \- build the Standard ML of New Jersey system
.SH SYNOPSIS
.B makeml
options
.br
.SH DESCRIPTION
\fIMakeml\fP is a tool for building the Standard ML of New Jersey system (sml)
from source and `.mo' files.
For the standard installation the only options required are the machine type and
operating system.
There are also options to build a version with the compiler object code in the
heap instead of the text segment and to build the batch compiler.
For example
.RS
makeml \-vax \-bsd \-noshare
.RE
builds the vax version of the interactive system to run on bsd systems with
the compiler object code in the heap.
For the sun-3 and sun-4 versions, the operating system is implicit; furthermore,
\fImakeml\fP is able to determine which kind of sun it is running on,
so the machine option is not required either.
.SH OPTIONS
The following basic options are the only ones needed for normal use.
.TP
.BI \-sun3
.br
.ns
.TP
.BI \-m68
Build the sun-3 version of the system.
This implies the \fB-bsd\fP option.
.TP
.BI \-sun4
.br
.ns
.TP
.BI \-sparc
Build the sun-4 version of the system.
This implies the \fB-bsd\fP option.
.TP
.BI \-next
Build the NeXT version of the system.
This implies the \fB-bsd\fP option with -DMACH.
.TP
.BI \-encore
Build the Encore Multimax (ns32032 processor) version of the system.
This implies the \fB-bsd\fP option.
.TP
.BI \-vax
Build the vax version of the system.
For the vax an operating system option must be specified.
.TP
.BI \-bsd
Build a version that runs under bsd unix.
.TP
.BI \-ultrix
Build a version that runs under ultrix.
.TP
.BI \-v9
Build a version that runs under v9 unix.
.TP
.BI \-batch
Build the batch compiler instead of an interactive system.
.TP
.BI \-noshare
Do not link the `.mo' files into an `a.out' format object file and include it in the
runtime executable.
.TP
.BI \-i
Make the `sml' image start out using the interpreter for faster compilation
and slower execution (for interactive system only; can switch
back to native code once in
`sml' by `System.Control.interp := false').
.TP
.BI \-ionly
Make the `sml' image start out using the interpreter for faster compilation
and slower execution (for interactive system only), and eliminate
the code generator from the executable to save space.
.TP
.BI \-o " image"
Use image as the name of the system image.
The default image name is `sml' for interactive systems and `batch' for the
batch compiler.
.PP
The following options may be used to tune garbage collection and paging performance.
.TP
.BI \-h " heapsize"
Set the initial heap size to \fIheapsize\fP kilo-bytes.
.TP
.BI \-m " softlimit"
Set the soft limit on the heap size to \fIsoftlimit\fP kilo-bytes.
.TP
.BI \-r " ratio"
Set the ratio of the heap size to live data to \fIratio\fP.
This must be at least 3.
.PP
The following options are for building and testing new versions of the system; they
are not necessary for normal installation.
.TP
.BI \-run
Build the run-time kernel (`runtime/run'), but don't build a system.
.TP
.BI \-noclean
Don't remove the existing `.o' files in the runtime directory.
.TP
.BI \-norun
Don't re-compile the runtime kernel.
This implies the \fB-noclean\fP option.
.TP
.BI \-target " machine"
Build a batch cross compiler for \fImachine\fP.
For example, to build a \fBvax\fP to \fBsparc\fP cross compiler
.ti +0.5i
makeml \-vax \-bsd \-target sparc
.br
This option implies the \fB-batch\fP option.
.TP
.BI \-mo " path"
Use \fIpath\fP as the directory containing the `.mo' files.
.TP
.BI \-runtime " path"
Use \fIpath\fP as the source directory for the runtime code.
.TP
.BI \-D def
When compiling the runtime code add ``\fB-D\fP\fIdef\fP'' as a command line option.
.SH "SEE ALSO"
linkdata(1)
.SH AUTHOR
John Reppy
.SH BUGS
This will not work with the sun cross-compilers (really a problem with the
runtime makefile).