Compilation

Building from the OS command line.

Some compilation steps (such as compiling the NeXtMidas shell) cannot execute within the NeXtMidas shell and require an "external" compilation interface to boot-strap the build. The tools.NmMake class, which runs via the nm OS shell script, provides this interface.

The chart below summarizes the "nm make" functions:

NAME
  nm make - Boot-strap to build NeXtMidas from the OS shell (Native code is disabled);
            performs miscellaneous build tasks for NeXtMidas.


SYNOPSIS
  nm make [TASK ...]


DESCRIPTION
  nm make zip OPT NAME
  nm make jar OPT NAME
      Creates a zip/jar file named NAME containing the OPT option tree.
      (A ".zip" extension after NAME creates a zip file, ".jar" creates
      a jar file, and no extension uses the given default.)

      If OPT is "all", "nxm", "nextmidas", or "nmroot" then the entire
      $NMROOT is included.

      Note: Symbolic links within OPT are not followed when making
      the zip/jar.

  nm make dist OPT NAME
      Identical to "nm make zip OPT NAME" except it omits COTS/Binary
      files when making the zip/jar.

  nm make clean [OPT]
      Cleans all build products (.class files, .so files, etc.) for the
      OPT option tree.

      If OPT is "all" then it cleans all build products for all option
      trees, and removes WebStart jars and JavaDoc files.

  nm make boot
      (Implies "nm make gen") Compiles the boot classes and stops.
      (Rarely used.)

  nm make gen
      Generates the libm Java code in the SYS option tree and stops.
      (Rarely used.)

  nm make [PARAMS]
      Builds the boot classes (see "nm make boot") and enters the
      NeXtMidas shell to continue building. The command executed in the
      shell equals "nM> make PARAMS".

      Common applications:

        1. Build the SYS option tree from scratch:
             $ nm make all

        2. Build an arbitrary option tree (foo):
             $ nm make all foo

        3. Build only the code and jars for an option tree:
             $ nm make "code|jar" foo

           Note: In Unix, you must quote any parameter with a pipe ('|').