## DirectoryMapping

### Definition

DirectoryMapping is an initialization file of VMAKE. It is used to assign module files to layers. DirectoryMapping is stored in the $INSTROOT/sys/desc directory.

### Use

VMAKE uses the second and third letters of the file name to assign module files to a layer. An alternative method of assigning module files to a layer is to use the DirectoryMapping function. This method also allows you to use longer and more meaningful file names. File names specified with the DirectoryMapping function consist of two parts, which are linked by an underscore. The first part specifies in short form the layer, the second part specifies the name of the module file:
<file_name> = <short_layer>_<modular_file>

The short form is mapped to the corresponding later in the DirectoryMapping file:
<dm_line> = <comment_line> | (<short_layer>, <full_layer><new_line>)

<short_layer> | Short form of the layer
<full_layer> | Layers below $INSTROOT/sys/src/SAPDB

You can use the # character as a comment character.

A compilation description is necessary for a directory containing module files. This is defined according to the conventions for compilation descriptions.

### Example

The $INSTROOT/sys/desc/DirectoryMapping file has the following entries:

# <short_layer>, <directory>
# Component SQLStudio
StudioTD, SQLStudio/TableDefinition # Table Definition

If the StudioTD_TableDef.cpp and StudioTD_Wrapper.cpp are to be created, the compilation description K TableDefinition.com must be stored under $INSTROOT/sys/desc/SAPDB/SQLStudio/ or $INSTROOT/sys/src/SAPDB/SQLStudio/TableDefinition.

VMAKE searches for the StudioTD_TableDef.cpp and StudioTD_Wrapper.cpp files in the $INSTROOT/sys/src/SAPDB/SQLStudio/TableDefinition layer.