abld command syntax overview

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.

Invocation syntax

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:

udeb

Debug build

urel

Release build

all

Debug and release builds

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.