The abld batch file is used to control all aspects of building a project. The batch file is created using bldmake from a component description file.
abld [ test ] command [ options ] [ platform [ build [ program ] ] ]
The usage for test, command, options, platform, build, and program are detailed in the following sections.
Note: For certain abld commands, parameters such as platform, build, and program, do not apply. For example, abld export does not require these parameters, as exports do not depend on build, platform, or program.
command
You can use the following commands with abld:
Command | Purpose |
---|---|
build |
To build the binaries for the specified target. It is a combination of the commands, export, makefile, library, resource, target, and final. |
clean |
To remove everything built for the abld target. |
cleanexport |
To remove files created by the abld export command. |
export |
To copy the exported files to their destination. |
final |
To allow extension makefiles to run final commands. |
freeze |
To freeze the exported functions in a .def file. |
help |
To display commands, options, or help about a particular command. |
library |
To create import libraries from the frozen .def files. |
listing |
To create an assembler listing file for a particular source file. |
makefile |
To create makefiles or IDE workspaces. |
reallyclean |
To remove all the files. It is similar to the clean command, and additionally removes exported files and makefiles. |
resource |
To create resource files and bitmaps. |
target |
To create the main executable file and also the resources. |
tidy |
To remove executable files which need not be released. |
options
You can use the following options with abld:
Option | Purpose |
---|---|
-check or -c |
To check whether the filenames of the executable and resource files are compatible for Linux builds. |
-debug |
To generate symbolic debug information for release or debug builds. |
-keepgoing or -k |
To build unrelated targets on error. |
-no_debug |
To not generate symbolic debug information for release or debug builds. |
-savespace or -s |
To delete intermediate files on success. |
-verbose or -v |
To display the progress of the abld command. |
-what or -w |
To list all releaseables, which include executable/map files, resource files and so on. |
-I <platform> |
To specify the ARM target to build for, overriding other settings. |
-wrap[=<value>] |
A static analysis tool can be invoked if [=<value>] is not specified. For example, -wrap. Alternatively, a run-time analysis tool can be invoked if <value> is specified as proxy. For example, -wrap=proxy. |
Notes:
You can use -debug or -no_debug options irrespective of the output build type, that is, UREL or UDEB.
All options are not applicable to all the commands. Wherever applicable, they can be specified in their long or short forms. For example,
-keepgoing (long form)
or
-k (short form)
platform
This specifies the target platform. Possible platforms are:
Target platform | Purpose |
---|---|
all |
To build for all platforms. |
armv5 |
To build for ABI v1 of ARMV5 architecture using the RealView Compilation Tools (RVCT). |
armv5_abiv2 |
To build for ABI v2 of ARMV5 architecture using RVCT. |
armv6 |
To build for ABI v2 of ARMV6 architecture using RVCT. |
armv6t2 |
To build for ABI v2 of ARMV6 architecture that supports Thumb-2 instruction set, using RVCT. |
armv7 |
To build for ABI v2 of ARMV7 architecture that supports Thumb-2 instruction set, using RVCT. |
cw_ide | To build the Metrowerks CodeWarrior project file (importable .xml file). |
gcce |
To build for ABI v2 of ARMV5 architecture using the GNU GCC compiler. |
gccev6 |
To build for ABI v2 of ARMV6 architecture using the GNU GCC compiler. |
gccev6t2 |
To build for ABI v2 of ARMV6 architecture that supports Thumb-2 instruction set, using the GNU GCC compiler. |
gccev7 |
To build for ABI v2 of ARMV7 architecture that supports Thumb-2 instruction set, using the GNU GCC compiler. |
gccxml |
To generate the XML description of the project and the program using GCC XML. |
vs6 |
To create the project files suitable for opening the project in Microsoft Visual Studio IDE, version Visual C++ v6. |
vs2003 |
To create the project files suitable for opening the project in Microsoft Visual Studio IDE, version .NET2003. |
winscw |
To build for the Symbian emulator on Microsoft Windows, using the Metrowerks CodeWarrior compiler. |
Note: The target platforms, armv5 and armv5_abiv2 are compatible with Symbian OS v9.4 or earlier versions. From Symbian OS v9.4 onwards, these build platforms are renamed as armv5 and armv5_abiv1 to generate binaries and libraries conforming to ABI v2 and ABI v1 respectively.
If platform is not specified, or is specified as all, then abld will build for all the platforms specified in the component description file.
Basenames of .mmp files or extension makefiles must not be platform names.
build
This specifies the build type. Possible types are:
If build is not specified, or specified as all, then abld will build for both udeb and urel.
Basenames of .mmp files or extension makefiles must not be build type names.
program
This specifies the basename of a particular .mmp file or extension makefile, in order to limit the command to a single project within a component.
If program is not specified, then all the projects within the component are built.
test
If test is specified before command, the command will build all the projects defined by .mmp files listed in the prj_testmmpfiles section of the component description file, rather than those listed in the prj_mmpfiles section.
Note: The test parameter is not relevant for some commands, and in those cases, it cannot be specified.