Current Page: NeXtMidas User's Guide Installation and Customization Compilation
| #### 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 ('|').

    STATUS CODE
      After running 'nm make', NeXtMidas sets a system status code which shows
      whether or not the NeXtMidas build passed or failed:
        0 = NeXtMidas build passed
        1 = NeXtMidas build failed

      To retrieve the system status code, check the following:
        Linux:   'echo $?'
        Windows: 'echo %ERRORLEVEL%'

      Note:
        The status code is only valid right after the NeXtMidas build and therefore
        must be checked immediately. Any other OS commands run before checking the
        status code will make the status code invalid for the NeXtMidas build.