xref: /optee_os/core/sub.mk (revision b8c97753484955ec6f5f80300fcd9a34db5c88d7)
1b0104773SPascal Brandsubdirs-y += kernel
2ee546289SJens Wiklandersubdirs-y += mm
3b887bd8fSJens Wiklandersubdirs-y += crypto
4b0104773SPascal Brandsubdirs-y += tee
5b0104773SPascal Brandsubdirs-y += drivers
6fca1e9e4SJens Wiklander
7064663e8SJens Wiklanderifeq ($(CFG_WITH_USER_TA),y)
8fca1e9e4SJens Wiklandergensrcs-y += ta_pub_key
9fca1e9e4SJens Wiklanderproduce-ta_pub_key = ta_pub_key.c
10f147124eSJerome Forissierdepends-ta_pub_key = $(TA_SIGN_KEY) scripts/pem_to_pub_c.py
11fca1e9e4SJens Wiklanderrecipe-ta_pub_key = scripts/pem_to_pub_c.py --prefix ta_pub_key \
12fca1e9e4SJens Wiklander		--key $(TA_SIGN_KEY) --out $(sub-dir-out)/ta_pub_key.c
139ac870c9SJerome Forissiercleanfiles += $(sub-dir-out)/ta_pub_key.c
14*b8c97753SJens Wiklander
15*b8c97753SJens Wiklandergensrcs-y += ldelf
16*b8c97753SJens Wiklanderproduce-ldelf = ldelf_hex.c
17*b8c97753SJens Wiklanderdepends-ldelf = scripts/gen_ldelf_hex.py $(out-dir)/ldelf/ldelf.elf
18*b8c97753SJens Wiklanderrecipe-ldelf = scripts/gen_ldelf_hex.py --input $(out-dir)/ldelf/ldelf.elf \
19*b8c97753SJens Wiklander			--output $(sub-dir-out)/ldelf_hex.c
20*b8c97753SJens Wiklandercleanfiles += $(sub-dir-out)/ldelf_hex.c
21ee664c19SJerome Forissierendif
22d0c63614SJerome Forissier
23d0c63614SJerome Forissierifeq ($(CFG_WITH_USER_TA)-$(CFG_EARLY_TA),y-y)
24d0c63614SJerome Forissierdefine process_early_ta
25d0c63614SJerome Forissierearly-ta-$1-uuid := $(firstword $(subst ., ,$(notdir $1)))
26d0c63614SJerome Forissiergensrcs-y += early-ta-$1
27d0c63614SJerome Forissierproduce-early-ta-$1 = early_ta_$$(early-ta-$1-uuid).c
28d0c63614SJerome Forissierdepends-early-ta-$1 = $1 scripts/ta_bin_to_c.py
29509a9802SJerome Forissierrecipe-early-ta-$1 = scripts/ta_bin_to_c.py --compress --ta $1 \
30d0c63614SJerome Forissier		--out $(sub-dir-out)/early_ta_$$(early-ta-$1-uuid).c
31d0c63614SJerome Forissiercleanfiles += $(sub-dir-out)/early_ta_$$(early-ta-$1-uuid).c
32d0c63614SJerome Forissierendef
33d0c63614SJerome Forissier$(foreach f, $(EARLY_TA_PATHS), $(eval $(call process_early_ta,$(f))))
343638ea32SJens Wiklander$(foreach f, $(CFG_IN_TREE_EARLY_TAS), $(eval $(call \
353638ea32SJens Wiklander	process_early_ta,$(out-dir)/ta/$(f).stripped.elf)))
36d0c63614SJerome Forissierendif
37c95b9511SEtienne Carriere
38c95b9511SEtienne Carriereifeq ($(CFG_EMBED_DTB),y)
39c95b9511SEtienne Carrierecore-embed-fdt-dts = $(arch-dir)/dts/$(CFG_EMBED_DTB_SOURCE_FILE)
40c95b9511SEtienne Carrierecore-embed-fdt-dtb = $(out-dir)/$(arch-dir)/dts/$(CFG_EMBED_DTB_SOURCE_FILE:.dts=.dtb)
41c95b9511SEtienne Carrierecore-embed-fdt-c = $(out-dir)/$(arch-dir)/dts/$(CFG_EMBED_DTB_SOURCE_FILE:.dts=.c)
42c95b9511SEtienne Carrieregensrcs-y += embedded_secure_dtb
43c95b9511SEtienne Carrierecleanfiles += $(core-embed-fdt-c)
44c95b9511SEtienne Carriereproduce-embedded_secure_dtb = arch/$(ARCH)/dts/$(CFG_EMBED_DTB_SOURCE_FILE:.dts=.c)
459f762003SEtienne Carrieredepends-embedded_secure_dtb = $(core-embed-fdt-dtb) scripts/bin_to_c.py
46c95b9511SEtienne Carriererecipe-embedded_secure_dtb = scripts/bin_to_c.py \
47c95b9511SEtienne Carriere				--bin $(core-embed-fdt-dtb) \
48c95b9511SEtienne Carriere				--vname embedded_secure_dtb \
49c95b9511SEtienne Carriere				--out $(core-embed-fdt-c)
50c95b9511SEtienne Carriere$(eval $(call gen-dtb-file,$(core-embed-fdt-dts),$(core-embed-fdt-dtb)))
51c95b9511SEtienne Carriereendif
52