This page briefly lists the main Symbian-specific tools and file types used in building components. In addition to these tools, the build process will use compilers and linkers supplied by various third party companies.
Tools supplied by Symbian are in epoc32\tools\ directory.
Tool |
Description |
bldmake |
This tool processes a component description file (bld.inf), which describes various aspects of the component, and generates make files and a batch file called abld.bat. This batch file is then used to drive the rest of the component build. |
abld |
Calls the .make files generated by the bldmake tool to build a component. The make files typically call the makmake tool to create makefiles that specify the required build steps to build the component for a particular target. |
makmake |
Takes a .mmp project file which lists the elements of the project, and produces a makefile for the platform specified. The GCC make utility is then called to execute the make file. |
elf2e32 |
Converts the ELF representation of an executable into an E32Image format file, the format required to run on Symbian platform. Used only for ARMV5 (ABIv2) target. |
elftran |
Transforms the ELF representation of an executable into an E32Image format file, the format required to run on Symbian platform. Used only for ARMV5 (ABIv1) target. |
elf2Inf |
Gets a list of the symbol names of the exported definitions from an ELF file. Its output .inf file is input to makedef. Used only for ARMV5 (ABIv1) target. |
makedef |
Maintains or creates DEF files, which record an executable's exported symbols by ordinal. |
def2dll |
Creates binary objects used to implement the Symbian platform DLL model. These are a representation (ELF) of the export table (.exp file), and its import library (.lib). Used only for ARMV5 (ABIv1) target. |
epocrc |
Combines the actions of passing a resource file through the C++ preprocessor, and then compiling it with the rcomp tool. |
rcomp |
Resource compiler. Compiles source rss resource files into compiled resource data files, and a rsg resource header file. |
bmconv |
Bitmap converter. Takes one or more Microsoft Windows bitmaps .bmp and generates a single multi-bitmap file .mbm, optimised for efficient runtime loading by the GDI. Also a header file .h with symbolic definitions for each bitmap in the file. |
More specialised tools are available for particular types of development, e.g. for generating font and printer driver libraries.
The following file types are involved in the build processes:
bld.inf |
component description file, input to bldmake |
.mmp |
project file: specification of a project, input to abld/makmake |
.<target> |
a makefile, output from makmake, used to build the project for the specified target. Examples are .winscw for the WINSCW target, .armv5 for the ARMV5 target, etc. |
.make |
build batch makefile, for use by abld for the purposes of building, output from bldmake bldfiles |
.cpp |
C++ source file |
.h |
header file, for inclusion in C++ file |
.rss |
resource source file, for input to rcomp |
.rh |
resource header, for inclusion in resource file |
.hrh |
common C++ or resource header, for inclusion in either type of source file |
.rsg |
generated resource header file, output from rcomp |
.rsc |
generated resource file, output from rcomp |
.bmp |
bitmap file, in Microsoft Windows format, input to bmconv (can also be output) |
.mbm |
multi-bitmap file, generated by Symbian platform bitmap compiler, output from bmconv (can also be input) |
.def |
linker definition file, defining an executable's exports and their ordinal positions. |
.lib |
static library file, often containing stub functions for DLL linking. |
.map |
map of entities in an executable, output by linker |
.exe |
executable that can be loaded and run as a process |
.dll |
dynamic link library or DLL: executable containing shared functionality that can be loaded by other executables |
.dso |
ELF format file output by compiler/linkers for ARM targets. Also used for linking against DLLs in the ARMV5 ABIv2 target. |