MAKEML(1)

NAME
makeml - build the Standard ML of New Jersey system

SYNOPSIS
makeml options

DESCRIPTION
Makeml 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
    makeml -vax -bsd -noshare
builds the vax version of the interactive system to run on bsd systems with the compiler object code in the heap.

OPTIONS
The following basic options are the only ones needed for normal use.

-sun3

-m68
    Build the sun-3 version of the system. An operating system option must be specified (-sunos or -mach).

-sun4

-sparc
    Build the sun-4 version of the system. An operating system option must be specified (-sunos or -mach).

-next
    Build the NeXT version of the system (implies -m68).

-encore
    Build the Encore Multimax (ns32032 processor) version of the system. This implies the -bsd option.

-vax
    Build the vax version of the system. For the vax an operating system option must be specified.

-bsd
    Build a version that runs under bsd unix. For the Sun-3 or Sun-4, you must specify either -sunos or -mach, not -bsd.

-sunos
    Build a version that runs under SunOS.

-mach
    Build a version that runs under Mach.

-ultrix
    Build a version that runs under Ultrix.

-v9 Build a version that runs under v9 Unix.

-batch
    Build the batch compiler (with default name `smlc') instead of an interactive system.

-noshare
    Do not link the `.mo' files into an `a.out' format object file and include it in the runtime executable.

-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').

-ionly
    Build an image (with default name `smli') that has only the interpreter. This gives fast compilation and saves space by eliminating the code generator from the executable, but results in slower execution.

-o image
    Use image as the name of the system image. The default image name is `sml' for interactive systems, `smli' for the interpreter only system and `smlc' for the batch compiler.

The following options may be used to tune garbage collection and paging performance.

-h heapsize
    Set the initial heap size to heapsize kilo-bytes.

-m softlimit
    Set the soft limit on the heap size to softlimit kilo-bytes.

-r ratio
    Set the ratio of the heap size to live data to ratio. This must be at least 3.

The following options are for building and testing new versions of the system; they are not necessary for normal installation.

-run
    Build the run-time kernel (`runtime/run'), but don't build a system.

-noclean
    Don't remove the existing `.o' files in the runtime directory.

-norun
    Don't re-compile the runtime kernel. This implies the -noclean option.

-target machine
    Build a batch cross compiler for machine. For example, to build a vax to sparc cross compiler
    makeml -vax -bsd -target sparc
    This option implies the -batch option.

-mo path
    Use path as the directory containing the `.mo' files.

-runtime path
    Use path as the source directory for the runtime code.

-Ddef
    When compiling the runtime code add ``-Ddef'' as a command line option.

SEE ALSO
linkdata(1)

AUTHOR
John Reppy

BUGS
This will not work with the sun cross-compilers (really a problem with the runtime makefile).