1e86a7b92SJerome Forissiersubdirs-y += crypto 2e86a7b92SJerome Forissiersubdirs-y += drivers 3b0104773SPascal Brandsubdirs-y += kernel 4ee546289SJens Wiklandersubdirs-y += mm 5e86a7b92SJerome Forissiersubdirs-y += pta 6b0104773SPascal Brandsubdirs-y += tee 7fca1e9e4SJens Wiklander 8064663e8SJens Wiklanderifeq ($(CFG_WITH_USER_TA),y) 9fca1e9e4SJens Wiklandergensrcs-y += ta_pub_key 10fca1e9e4SJens Wiklanderproduce-ta_pub_key = ta_pub_key.c 11f147124eSJerome Forissierdepends-ta_pub_key = $(TA_SIGN_KEY) scripts/pem_to_pub_c.py 12b4faf480SDick Olssonrecipe-ta_pub_key = $(PYTHON3) scripts/pem_to_pub_c.py --prefix ta_pub_key \ 13fca1e9e4SJens Wiklander --key $(TA_SIGN_KEY) --out $(sub-dir-out)/ta_pub_key.c 14b8c97753SJens Wiklander 15b8c97753SJens Wiklandergensrcs-y += ldelf 16b8c97753SJens Wiklanderproduce-ldelf = ldelf_hex.c 17b8c97753SJens Wiklanderdepends-ldelf = scripts/gen_ldelf_hex.py $(out-dir)/ldelf/ldelf.elf 18b4faf480SDick Olssonrecipe-ldelf = $(PYTHON3) scripts/gen_ldelf_hex.py --input $(out-dir)/ldelf/ldelf.elf \ 19b8c97753SJens Wiklander --output $(sub-dir-out)/ldelf_hex.c 20ee664c19SJerome Forissierendif 21d0c63614SJerome Forissier 22d0c63614SJerome Forissierifeq ($(CFG_WITH_USER_TA)-$(CFG_EARLY_TA),y-y) 23d0c63614SJerome Forissierdefine process_early_ta 24d0c63614SJerome Forissierearly-ta-$1-uuid := $(firstword $(subst ., ,$(notdir $1))) 25d0c63614SJerome Forissiergensrcs-y += early-ta-$1 26d0c63614SJerome Forissierproduce-early-ta-$1 = early_ta_$$(early-ta-$1-uuid).c 27*dea46be3SJelle Selsdepends-early-ta-$1 = $1 scripts/ts_bin_to_c.py 28*dea46be3SJelle Selsrecipe-early-ta-$1 = $(PYTHON3) scripts/ts_bin_to_c.py --compress --ta $1 \ 29d0c63614SJerome Forissier --out $(sub-dir-out)/early_ta_$$(early-ta-$1-uuid).c 30d0c63614SJerome Forissierendef 31d0c63614SJerome Forissier$(foreach f, $(EARLY_TA_PATHS), $(eval $(call process_early_ta,$(f)))) 323638ea32SJens Wiklander$(foreach f, $(CFG_IN_TREE_EARLY_TAS), $(eval $(call \ 333638ea32SJens Wiklander process_early_ta,$(out-dir)/ta/$(f).stripped.elf))) 34d0c63614SJerome Forissierendif 35c95b9511SEtienne Carriere 36*dea46be3SJelle Selsdefine process_secure_partition 37*dea46be3SJelle Selssp-$1-uuid := $(firstword $(subst ., ,$(notdir $1))) 38*dea46be3SJelle Selsgensrcs-y += sp-$1 39*dea46be3SJelle Selsproduce-sp-$1 = sp_$$(sp-$1-uuid).c 40*dea46be3SJelle Selsdepends-sp-$1 = $1 scripts/ts_bin_to_c.py 41*dea46be3SJelle Selsrecipe-sp-$1 = $(PYTHON3) scripts/ts_bin_to_c.py --compress --sp $1 \ 42*dea46be3SJelle Sels --out $(sub-dir-out)/sp_$$(sp-$1-uuid).c 43*dea46be3SJelle Selsendef 44*dea46be3SJelle Sels$(foreach f, $(SP_PATHS), $(eval $(call process_secure_partition,$(f)))) 45*dea46be3SJelle Sels 46c95b9511SEtienne Carriereifeq ($(CFG_EMBED_DTB),y) 47c95b9511SEtienne Carrierecore-embed-fdt-dts = $(arch-dir)/dts/$(CFG_EMBED_DTB_SOURCE_FILE) 48c95b9511SEtienne Carrierecore-embed-fdt-dtb = $(out-dir)/$(arch-dir)/dts/$(CFG_EMBED_DTB_SOURCE_FILE:.dts=.dtb) 49c95b9511SEtienne Carrierecore-embed-fdt-c = $(out-dir)/$(arch-dir)/dts/$(CFG_EMBED_DTB_SOURCE_FILE:.dts=.c) 50c95b9511SEtienne Carrieregensrcs-y += embedded_secure_dtb 51c95b9511SEtienne Carriereproduce-embedded_secure_dtb = arch/$(ARCH)/dts/$(CFG_EMBED_DTB_SOURCE_FILE:.dts=.c) 529f762003SEtienne Carrieredepends-embedded_secure_dtb = $(core-embed-fdt-dtb) scripts/bin_to_c.py 53b4faf480SDick Olssonrecipe-embedded_secure_dtb = $(PYTHON3) scripts/bin_to_c.py \ 54c95b9511SEtienne Carriere --bin $(core-embed-fdt-dtb) \ 55c95b9511SEtienne Carriere --vname embedded_secure_dtb \ 56c95b9511SEtienne Carriere --out $(core-embed-fdt-c) 57c95b9511SEtienne Carriere$(eval $(call gen-dtb-file,$(core-embed-fdt-dts),$(core-embed-fdt-dtb))) 58c95b9511SEtienne Carriereendif 59a2087649SJerome Forissier 60a2087649SJerome Forissierifeq ($(CFG_SHOW_CONF_ON_BOOT),y) 61a2087649SJerome Forissierconf-mk-xz-base64 := $(sub-dir-out)/conf.mk.xz.base64 62a2087649SJerome Forissiercleanfiles += $(conf-mk-xz-base64) 63a2087649SJerome Forissier 64a2087649SJerome Forissier$(conf-mk-xz-base64): $(conf-mk-file) 65a2087649SJerome Forissier @$(cmd-echo-silent) ' GEN $@' 66a2087649SJerome Forissier $(q)tail +3 $< | xz | base64 -w 100 >$@ 67a2087649SJerome Forissier 68a2087649SJerome Forissiergensrcs-y += conf_str 69a2087649SJerome Forissierproduce-conf_str = conf.mk.xz.base64.c 70a2087649SJerome Forissierdepends-conf_str = $(conf-mk-xz-base64) 71b4faf480SDick Olssonrecipe-conf_str = $(PYTHON3) scripts/bin_to_c.py --text --bin $(conf-mk-xz-base64) \ 72a2087649SJerome Forissier --out $(sub-dir-out)/conf.mk.xz.base64.c \ 73a2087649SJerome Forissier --vname conf_str 74a2087649SJerome Forissierendif 7542471ecfSJens Wiklander 7642471ecfSJens Wiklanderifneq ($(CFG_STMM_PATH),) 7742471ecfSJens Wiklandergensrcs-y += stmm 7842471ecfSJens Wiklanderproduce-stmm = stmm_hex.c 7942471ecfSJens Wiklanderdepends-stmm = scripts/gen_stmm_hex.py $(CFG_STMM_PATH) 8042471ecfSJens Wiklanderrecipe-stmm = scripts/gen_stmm_hex.py --input $(CFG_STMM_PATH) \ 8142471ecfSJens Wiklander --output $(sub-dir-out)/stmm_hex.c 8242471ecfSJens Wiklandercleanfiles += $(sub-dir-out)/stmm_hex.c 8342471ecfSJens Wiklanderendif 84