2.8.1. General information

This section explains:

What is a project template?

The following elements make up a project template:

  • build step patterns

  • tools

  • partitions

  • variants

  • variables.

Build step patterns

A build step pattern controls how a specific tool works within the project environment and it specifies how a particular file type is handled within that environment. It controls how a tool transforms its input into output as an intermediate step in building the output of your project.

A build step pattern has a global effect within a project. However, you can use variables to change the effect at the source, partition, or variant level of the project hierarchy. Build step patterns are discussed in Build step patterns.


Tools are the programs used by a build step pattern to transform a source file into a derived file. Tool configuration is discussed in Configuring tools.


Partitions are a construct of APM used to organize the source and derived files in your project, in the same way that you might use a directory structure. The partitions used by your project are determined by the build step patterns.


Variants define different versions of the project output created from the same set of source files. Variants are discussed in Adding a new variant to a project.


Variables are used within the definition of build steps to change how a tool is used in the various levels of a project hierarchy. For example, you could use a variable to change the configuration settings for armcc, so that a single source, or a particular set of sources in a separate partition, is compiled in one way and the rest of the source is compiled in another. See Editing a variable.

Using a template to create a project

To create a new project, select an existing blank template that defines the tools to be used, the organization of project files into partitions, and the variants that can be built. Add your source files to the blank template and save it as the new project template. A project template helps you to build your project output repeatedly and consistently.

See Creating a new project for more information.

Modifying a project template

You can modify a project template after the project has been created or you can create your own blank templates.

After creating a project you can add new tools, remove unused tools, and edit the build step patterns to suit your needs. These changes have a global effect across your project, but do not affect the blank template you used when you created your project.

If you need finer control, for example to compile a subset of your sources in a particular way, you can use tool configuration settings and/or variables to change the handling of a single source or a group of sources. For example, you could create an additional source partition. You could then configure the tool used on source files differently, depending on the partition used. You could even use a different compiler.

Finally, to create a number of projects that require a framework that is not supported by the supplied blank templates, you can create your own blanks. To create a blank template, take an existing blank template, save it to a new file in the Templates directory, then make the required changes. The new template appears in the list presented when you create a new project.


You are advised to create new templates based on the current APM templates, rather than modifying the blank templates supplied with APM.

Copyright © 1997, 1998 ARM Limited. All rights reserved.ARM DUI 0040D