Routines (alphabetical) > Routines: M > MAKE_RT

# MAKE_RT

The MAKE_RT procedure creates a stand-alone IDL runtime distribution for one or more platforms. In addition to the IDL binary and resource files required to execute an IDL program in runtime mode, MAKE_RT creates platform-specific launching scripts that allow an end-user to easily launch a runtime application.

MAKE_RT creates a runtime distribution for the specified platforms by copying files from an installed IDL distribution. If the files for the specified platforms are not available in the local IDL installation, you can use the IDLDIR keyword to specify another installation location from which files should be copied.

For further discussion of how MAKE_RT creates a runtime distribution, read the following sections:

- How MAKE_RT Builds its Manifest
- Application Launchers
- Working with the manifest_rt.txt File

This routine is written in the IDL language. Its source code can be found in the file `make_rt.pro` in the `lib/utilities` subdirectory of the IDL distribution.

## Example

Suppose you have a multi-platform UNIX installation, and wish to create a runtime distribution that runs on Macintosh OS X and 64-bit Linux. The following command will create a runtime distribution in the `/home/dave/myApp` directory, generating Macintosh and Linux scripts that launch IDL in Virtual Machine mode and load the file `myapp.sav`:

MAKE_RT, 'myApp', '/home/dave', SAVEFILE='myapp.sav', /VM, $

/MACINT64, /LIN64

## Syntax

MAKE_RT, Appname, Outdir, [, /DATAMINER] [, /DICOMEX] [/EMBEDDED] [, /GRIB] [, /HIRES_MAPS] [, /HIRES_SHAPEFILES] [, IDLDIR=path] [, /LIN32] [, /LIN64] [, LOGFILE=path] [, /MACINT64] [, MANIFEST=path] [, /OVERWRITE] [, SAVEFILE=path] [, /SUN64] [, /SUNX86_64] [, /VIDEO] [, /VM ] [, /WIN32] [, /WIN64]

## Arguments

### Appname

A string specifying the name of the application. An Appname directory will be created in the Outdir directory, and launch scripts (if any) will be renamed using Appname as the base.

### Outdir

A string specifying the full path of the directory where the runtime distribution should be created. Outdir must exist; a directory named Appname will be created in Outdir to contain the distribution.

## Keywords

### EMBEDDED

Set this keyword to modify the launch scripts so that the application specified by the SAVEFILE keyword is always invoked in embedded license mode. By default, IDL will attempt to run the application in Runtime mode.

Note: If this keyword is set, the VM keyword is ignored.

### IDLDIR

Set this keyword equal to the full path to the IDL installation directory from which files should be copied. If this keyword is not specified, files are copied from the directory specified by the !DIR system variable.

This keyword may be useful if you are creating a multi-platform runtime distribution, and installation directories for all of the required platforms are available on a single network.

### LOGFILE

Set this keyword equal to the full path name of the file that will contain log results produced while creating the runtime distribution. If this keyword is not specified, a file named `log.txt` is created in the Outdir/Appname directory.

### MANIFEST

Set this keyword equal to the full path to the manifest file specifying the files to be copied into the runtime distribution. If this keyword is not specified, `!DIR/bin/make_rt/manifest_rt.txt` will be used.

### OVERWRITE

Set this keyword to overwrite existing files in the output directory. If this keyword is not set and the output directory is not empty, an error is generated and the existing files in the output directory are not overwritten.

If there are files in the output directory that are not part of the manifest, they will remain in the output directory even when OVERWRITE is set.

### SAVEFILE

Set this keyword equal to the full path to the IDL SAVE file that contains your IDL application. The SAVE file is copied into the Outdir/Appname directory, and launch scripts are modified to invoke this file.

If this keyword is not set, no SAVE file is copied and generic launch scripts are created. In this case, running the launch script opens a file selection dialog allowing the user to select a SAVE file to restore and run.

### VM

Set this keyword to modify the launch scripts so that the application specified by the SAVEFILE keyword is always invoked in Virtual Machine mode. By default, IDL will attempt to run the application in Runtime mode. See Runtime Licensing for more information.

Note: This keyword is ignored if the EMBEDDED keyword is set.

## Feature Keywords

### DATAMINER

Set this keyword to include support for the IDL Dataminer. Note that the Dataminer is a licensed feature, which means that end-users must have a Dataminer license available to use Dataminer features.

### DICOMEX

Set this keyword to include support for the IDLffDicomEx object. Note that the IDLffDicomEx functionality is a licensed feature, which means that end-users must have a DicomEx license available to use the IDLffDicomEx object.

Note: The IDLffDicom object is included along with IDL, and will run with a regular IDL license and in the IDL Virtual Machine. If your application uses IDLffDicom rather than IDLffDicomEx, you do not need to set this keyword.

### GRIB

Set this keyword to include support for GRIB Routines.

### HIRES_MAPS

Set this keyword to include the high-resolution maps from your runtime distribution. IDL’s high-resolution map files consume about 45 megabytes of disk space, and are not included in a runtime distribution by default.id.

### HIRES_SHAPEFILES

Set this keyword to include the high-resolution shapefiles used with the HIRES keyword to Graphics functions.

## Platform Keywords

If any of the following platform keywords are set, distributions for the specified platforms are created. If none of the platform keywords are set, a distribution that matches the platform on which IDL is currently running is created.

### LIN32

Create a distribution for Linux machines running IDL in 32-bit mode.

### LIN64

Create a distribution for Linux machines running IDL in 64-bit mode.

### MACINT64

Create a distribution for Intel-based Macintoshes running IDL in 64-bit mode.

Note: 64-bit IDL on Intel-based Macintoshes requires OS X version 10.5 or later.

### SUN64

Create a distribution for Solaris Sparc machines running IDL in 64-bit mode.

### SUNX86_64

Create a distribution for Solaris X86 machines running IDL in 64-bit mode.

### VIDEO

Set this keyword to include support for IDLffVideoWrite.

Note: IDLffVideoWrite is a licensed feature, which means that you must have a IDLffVideoWrite license available to use IDLffVideoWrite features.

Note: IDLffVideoWrite/Read functionality is not available in IDL Virtual Machine (VM) mode if the end user of a distributed IDL VM app does not already have a purchased IDL license with the "idl_video_write" license feature. This functionality may appear to work for the developer since an IDL VM session can access auxiliary license features from the developer's full IDL`license.dat` file. However when used on a machine without such a license, the the IDLffVideoWrite/Read functionality will fail.

### WIN32

Create a distribution for Windows machines running IDL in 32-bit mode.

### WIN64

Create a distribution for Windows machines running IDL in 64-bit mode.

## How MAKE_RT Builds its Manifest

The list of files to be copied (known as the manifest) is constructed at the time MAKE_RT runs using the following process:

1. MAKE_RT reads the contents of the specified manifest file. If no manifest file is specified, MAKE_RT uses the `manifest_rt.txt` file located in the `bin/make_rt` subdirectory of the IDL distribution.
2. Entries in the manifest file that begin with the IDL comment character (the semicolon) are discarded.
3. Entries for platforms that are not specifically selected via the Platform Keywords are discarded. (If no platforms are specified by keyword, a distribution is created for the platform on which the MAKE_RT routine is running.)
4. Entries for optional features that are not specifically selected via the Feature Keywords are discarded.

Once the `manifest_rt.txt` file has been trimmed according to these rules, the files are copied to Outdir.

## Application Launchers

If you include the SAVEFILE keyword in a call to MAKE_RT, the procedure will generate a launch script for each platform specified. Launch scripts are small programs that invoke IDL in Runtime or Virtual Machine mode, loading the SAVE file you specify to run the application.

The launch scripts generated by MAKE_RT are based on generic scripts located in the `IDL_DIR``/bin/make_rt` directory (where `IDL_DIR` is the IDL installation directory).

Note: If you do not specify the SAVEFILE keyword, MAKE_RT generates a generic launch script that invokes IDL in runtime or virtual machine mode and opens a file selection dialog, allowing the end-user to select a `.sav` file to restore and run.

## Working with the manifest_rt.txt File

The default `manifest_rt.txt` file contains entries for all of the files necessary to create a runtime IDL distribution for all supported platforms. In most cases, you can use the `manifest_rt.txt` file without modification, and the MAKE_RT procedure will select the appropriate files to build the distribution you specify. If you need to modify the list of files copied to your runtime distribution, you can create a custom manifest file.

## Version History

7.0 | Introduced
7.0.4 | Added MACINT64 keyword
7.1 | Added OVERWRITE and SUNX86_64 keywords
8.0 | Removed the IDL_ASSISTANT, MACPPC32 keywords
8.1 | Added GRIB, HIRES_SHAPEFILES, and VIDEO keywords
8.2.3 | Removed the /SUN32, /MACINT32 and /MACPPC32 keywords

## See Also