86 lines
2.5 KiB
Makefile
86 lines
2.5 KiB
Makefile
# Makefile for building mcuboot as a Zephyr project.
|
|
|
|
########################
|
|
# Configuration choices.
|
|
########################
|
|
|
|
# Set this variable to determine the signature type used. Currently,
|
|
# it should be set to either RSA, or ECDSA_P256. This value can be
|
|
# overridden by the make invocation, e.g.:
|
|
#
|
|
# make SIGNATURE_TYPE=ECDSA_P256
|
|
#
|
|
CONF_SIGNATURE_TYPE ?= RSA
|
|
|
|
# Should the bootloader attempt to validate the signature of slot0
|
|
# when just booting. This adds the signature check time to every
|
|
# boot, but can mitigate against some changes that are able to modify
|
|
# the flash image itself. Set to "YES" for the validation, or any
|
|
# other value to not.
|
|
#
|
|
CONF_VALIDATE_SLOT0 ?= YES
|
|
|
|
# If this is set to YES, overwrite slot0 with the upgrade image
|
|
# instead of swapping them. This prevents the fallback recovery, but
|
|
# uses a much simpler code path.
|
|
#
|
|
CONF_UPGRADE_ONLY ?= NO
|
|
|
|
##############################
|
|
# End of configuration blocks.
|
|
##############################
|
|
|
|
ifeq ($(CONF_SIGNATURE_TYPE),RSA)
|
|
# RSA
|
|
CONF_FILE = boot/zephyr/prj.conf
|
|
CFLAGS += -DMCUBOOT_SIGN_RSA -DMCUBOOT_USE_MBED_TLS
|
|
|
|
else ifeq ($(CONF_SIGNATURE_TYPE),ECDSA_P256)
|
|
# ECDSA P-256
|
|
CONF_FILE = boot/zephyr/prj-p256.conf
|
|
CFLAGS += -DMCUBOOT_SIGN_EC256 -DMCUBOOT_USE_TINYCRYPT
|
|
NEED_TINYCRYPT = y
|
|
export NEED_TINYCRYPT
|
|
|
|
else
|
|
$(error Invalid CONF_SIGNATURE_TYPE specified)
|
|
endif
|
|
|
|
# Enable this option to have the bootloader verify the signature of
|
|
# the primary image upon every boot. Without it, signature
|
|
# verification only happens on upgrade.
|
|
ifeq ($(CONF_VALIDATE_SLOT0),YES)
|
|
CFLAGS += -DMCUBOOT_VALIDATE_SLOT0
|
|
endif
|
|
|
|
# Enabling this option uses newer flash map APIs. This saves RAM and
|
|
# avoids deprecated API usage.
|
|
#
|
|
# (This can be deleted when flash_area_to_sectors() is removed instead
|
|
# of simply deprecated.)
|
|
CFLAGS += -DMCUBOOT_USE_FLASH_AREA_GET_SECTORS
|
|
|
|
# Enable this option to not use the swapping code and just overwrite
|
|
# the image on upgrade.
|
|
ifeq ($(CONF_UPGRADE_ONLY),YES)
|
|
CFLAGS += -DMCUBOOT_OVERWRITE_ONLY
|
|
endif
|
|
|
|
# The board should be set to one of the targets supported by
|
|
# mcuboot/Zephyr. These can be found in ``boot/zephyr/targets``
|
|
BOARD ?= qemu_x86
|
|
|
|
# Additional board-specific Zephyr configuration
|
|
CONF_FILE += $(wildcard boot/zephyr/$(BOARD).conf)
|
|
|
|
# The source to the Zephyr-specific code lives here.
|
|
SOURCE_DIR = boot/zephyr
|
|
|
|
# Needed for mbedtls config-boot.h file.
|
|
CFLAGS += -I$(CURDIR)/boot/zephyr/include
|
|
|
|
DTC_OVERLAY_FILE := $(CURDIR)/boot/zephyr/dts.overlay
|
|
export DTC_OVERLAY_FILE
|
|
|
|
include ${ZEPHYR_BASE}/Makefile.inc
|