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 OS. 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 OS. 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.
|
evalid
|
A utility to compare two files, or two trees of files, ignoring
non-significant differences in some types of files, such as built executables.
|
makedef
|
Maintains or creates DEF files, which record an executable's
exported symbols by ordinal.
|
def2dll
|
Creates binary objects used to implement the Symbian OS 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 OS 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.
|
|