A make target specifies the type of function or activity that the make invocation executes. The build system does not support a make command with multiple targets. Therefore, a target must be called in a separate make invocation. The following tables list and describe the available make targets for all recipes.

General make targets

Target

Description

all

Same as

build

. That is, builds the application.

This target is equivalent to the

build

target.

getlibs

Clones the repositories and checks out the identified commit.

When using .

mtb

files, the repos are cloned to the shared location

$(CY_GETLIBS_SHARED_PATH)/$(CY_GETLIBS_SHARED_NAME)

. By default, this directory is specified by the project

Makefile

.

build

Builds the application.

The build process involves source auto-discovery, code-generation, pre-builds, and post-builds. For faster incremental builds, use the

qbuild

target to skip the auto-discovery step.

For multi-core applications, running this target builds all core projects in the application, and generates a combined

hex

file.

build_proj

Build a single project.

Build a single target in the application. In single core-applications, this target is the same as the

build

target.

qbuild

Quick builds the application using the previous build's source list.

When no other sources need to be auto-discovered, this target can be used to skip the auto-discovery step for a faster incremental build.

qbuild_proj

Builds a single project using the previous build's source list. In the single project-applications, this target is the same as the

qbuild

target.

When no other sources need to be auto-discovered, this target can be used to skip the auto-discovery step for a faster incremental build.

program

Builds the application and programs it to the target device. In multi-core applications, this will program the combined hex file.

The build process performs the same operations as the

build

target. Upon completion, the artifact is programmed to the board.

program_proj

Build and program only the current project to the target device. In single-core applications, this target is the same as the

program

target.

The build process performs the same operations as the

build

target. Upon completion, the artifact is programmed to the board.

qprogram

Quick programs a built application to the target device without rebuilding.

This target allows programming an existing artifact to the board without a build step.

qprogram_proj

Programs a built project to the target device without rebuilding. In single-core applications, this target is the same as the

qprogram

target.

This target allows programming an existing artifact to the board without a build step.

clean

Cleans the

/build/<TARGET>

directory.

The directory and all its contents are deleted from disk.

help

Prints the help documentation.

Use the

CY_HELP=<name of target or variable>

to see the verbose documentation for a given target or a variable.

prebuild

Generates code for the application.

Runs custom prebuild commands to generate source code.

IDE make targets

Target

Description

eclipse

Generates Eclipse IDE launch configs and project files.

This target generates a .

cproject

and a .

project

if they do not exist in the application root directory.

vscode

Generates VS Code IDE files.

This target generates VS Code files for debug/program launches, IntelliSense, and custom tasks. These overwrite the existing files in the application directory except for

settings.json

.

ewarm

/

ewarm8

This target generates an IAR Embedded Workbench compatible .

ipcf

file that can be imported into IAR-EW. The .

ipcf

file is overwritten every time this target is run.

Project generation requires Python 3 to be installed and present in the

PATH

variable.

For applications that were created using core-make-3.0 or older, you must use the

make ewarm8

command instead.

uvision

/

uvision5

Generates a Keil µVision IDE .cprj file.

This target generates a CMSIS-compatible file that can be imported into Keil µVision. The file is overwritten every time this target is run. Files in the default cmsis output directory will be automatically excluded when calling

make uvision

.

Project generation requires Python 3 to be installed and present in the

PATH

variable.

For applications that were created using core-make-3.0 or older, you must use the

make uvision5

command instead.

Utility make targets

Target

Description

progtool

Performs specified operations on the programmer/firmware-loader. Only available for devices that use KitProg3.

This target expects user-interaction on the shell while running it. When prompted, you must specify the command(s) to run for the tool.

printlibs

Prints the status of the library repos.

This target parses through the library repos and prints the SHA1 commit. It also shows whether the repo is clean (no changes) or dirty (modified or new files).

check

Checks for the necessary tools.

Not all tools are necessary for every build recipe. This target allows you to get an idea of which tools are missing if a build fails in an unexpected way.