Available make targets
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 . That is, builds the application. This target is equivalent to the target. |
getlibs | Clones the repositories and checks out the identified commit. When using . mtb files, the repos are cloned to the shared location . 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 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 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 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 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 target. The build process performs the same operations as the 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 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 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 variable. For applications that were created using core-make-3.0 or older, you must use the 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 . Project generation requires Python 3 to be installed and present in the variable. For applications that were created using core-make-3.0 or older, you must use the 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. |