Name This rule allows to associate a symbolicName to a certain file. A file name is restricted to occur only once within a set of module definition rules. This restriction will avoid inconsistences, if a file name is modified. If a certain file name occured on different locations, changing it would be a error-prone task. Thus, the only way to use a file multiple times as input is to generate a symbolicName for it (note that in this case the file name is also used exactly once within the module definition).
The scope of the symbolicName is the project the current module is part
of. The scope can be expanded to all parent projects with the
Install-Target (see Install-Target).
The key file specifies the system dependent file name.
Group This rule allows to define a symbolicName for a group of files. Grouping will be useful, if a certain file is split into several parts, e.g., as of size limitations or for structuring. Using the grouping facility the split files can be referenced by the same symbolicName as the original file. Hence, all other rule definitions remain unchanged.
The key group specifies the file names or symbolicNames for grouping.
Release-Target
This rule is used for files which shall be released but are not required to
build the project. For instance README files are candidates for
Release-Target.
The key files specifies the files to be released.
Install-Target Programs, libraries, exported include files, and LISP-files which are built by VMake are automatically provided for installation. Files of all other types must be specified by the Install-Target for installation.
The files to be installed are given to the key files by
symbolicName. The optional key area is a string defining a
directory in the installation directory tree defined by the environment
variable VROOT.
Install-Script
This rule is similar to Install-Target, but should be used only
for shell scripts. Installing a script by this rule allows to execute it
later from any parent project.
The scripts are given as parameter to the key script. If multiple
operating systems with different command line interpreters like UNIX and
VMS should be supported, a conditional form must be used (see
Figure 4.3).