xref: /optee_os/core/sub.mk (revision e3dddf723e2a992c5f557725391c730dfb374ebf)
1subdirs-y += crypto
2subdirs-y += drivers
3subdirs-y += kernel
4subdirs-y += mm
5subdirs-y += pta
6subdirs-y += tee
7
8ifeq ($(CFG_WITH_USER_TA),y)
9gensrcs-y += ta_pub_key
10produce-ta_pub_key = ta_pub_key.c
11depends-ta_pub_key = $(TA_SIGN_KEY) scripts/pem_to_pub_c.py
12recipe-ta_pub_key = scripts/pem_to_pub_c.py --prefix ta_pub_key \
13		--key $(TA_SIGN_KEY) --out $(sub-dir-out)/ta_pub_key.c
14cleanfiles += $(sub-dir-out)/ta_pub_key.c
15
16gensrcs-y += ldelf
17produce-ldelf = ldelf_hex.c
18depends-ldelf = scripts/gen_ldelf_hex.py $(out-dir)/ldelf/ldelf.elf
19recipe-ldelf = scripts/gen_ldelf_hex.py --input $(out-dir)/ldelf/ldelf.elf \
20			--output $(sub-dir-out)/ldelf_hex.c
21cleanfiles += $(sub-dir-out)/ldelf_hex.c
22endif
23
24ifeq ($(CFG_WITH_USER_TA)-$(CFG_EARLY_TA),y-y)
25define process_early_ta
26early-ta-$1-uuid := $(firstword $(subst ., ,$(notdir $1)))
27gensrcs-y += early-ta-$1
28produce-early-ta-$1 = early_ta_$$(early-ta-$1-uuid).c
29depends-early-ta-$1 = $1 scripts/ta_bin_to_c.py
30recipe-early-ta-$1 = scripts/ta_bin_to_c.py --compress --ta $1 \
31		--out $(sub-dir-out)/early_ta_$$(early-ta-$1-uuid).c
32cleanfiles += $(sub-dir-out)/early_ta_$$(early-ta-$1-uuid).c
33endef
34$(foreach f, $(EARLY_TA_PATHS), $(eval $(call process_early_ta,$(f))))
35$(foreach f, $(CFG_IN_TREE_EARLY_TAS), $(eval $(call \
36	process_early_ta,$(out-dir)/ta/$(f).stripped.elf)))
37endif
38
39ifeq ($(CFG_EMBED_DTB),y)
40core-embed-fdt-dts = $(arch-dir)/dts/$(CFG_EMBED_DTB_SOURCE_FILE)
41core-embed-fdt-dtb = $(out-dir)/$(arch-dir)/dts/$(CFG_EMBED_DTB_SOURCE_FILE:.dts=.dtb)
42core-embed-fdt-c = $(out-dir)/$(arch-dir)/dts/$(CFG_EMBED_DTB_SOURCE_FILE:.dts=.c)
43gensrcs-y += embedded_secure_dtb
44cleanfiles += $(core-embed-fdt-c)
45produce-embedded_secure_dtb = arch/$(ARCH)/dts/$(CFG_EMBED_DTB_SOURCE_FILE:.dts=.c)
46depends-embedded_secure_dtb = $(core-embed-fdt-dtb) scripts/bin_to_c.py
47recipe-embedded_secure_dtb = scripts/bin_to_c.py \
48				--bin $(core-embed-fdt-dtb) \
49				--vname embedded_secure_dtb \
50				--out $(core-embed-fdt-c)
51$(eval $(call gen-dtb-file,$(core-embed-fdt-dts),$(core-embed-fdt-dtb)))
52endif
53
54ifeq ($(CFG_SHOW_CONF_ON_BOOT),y)
55conf-mk-xz-base64 := $(sub-dir-out)/conf.mk.xz.base64
56cleanfiles += $(conf-mk-xz-base64)
57
58$(conf-mk-xz-base64): $(conf-mk-file)
59	@$(cmd-echo-silent) '  GEN     $@'
60	$(q)tail +3 $< | xz | base64 -w 100 >$@
61
62gensrcs-y += conf_str
63produce-conf_str = conf.mk.xz.base64.c
64depends-conf_str = $(conf-mk-xz-base64)
65recipe-conf_str = scripts/bin_to_c.py --text --bin $(conf-mk-xz-base64) \
66			--out $(sub-dir-out)/conf.mk.xz.base64.c \
67			--vname conf_str
68cleanfiles += $(sub-dir-out)/conf.mk.xz.base64.c
69endif
70