blob: a00dc38284eeccf6d0a7e4ff86d6bb036165c179 [file] [log] [blame]
Etienne Carriered3cb2762017-11-09 15:45:53 +01001export V ?= 0
Igor Opaniuk06fe31c2017-08-07 02:37:51 +03002
3OUTPUT_DIR := $(CURDIR)/out
Etienne Carriered3cb2762017-11-09 15:45:53 +01004
5EXAMPLE_LIST := hello_world
6EXAMPLE_LIST += random
Etienne Carrierea8118d82017-11-08 15:37:04 +01007EXAMPLE_LIST += aes
Joakim Bech730a0da2017-11-21 15:19:09 +01008EXAMPLE_LIST += hotp
Igor Opaniuk06fe31c2017-08-07 02:37:51 +03009
10.PHONY: all
11all: examples prepare-for-rootfs
12
13.PHONY: clean
14clean: examples-clean prepare-for-rootfs-clean
15
16examples:
Etienne Carriered3cb2762017-11-09 15:45:53 +010017 @for example in $(EXAMPLE_LIST); do \
Etienne Carriere11388fa2017-11-09 15:46:16 +010018 $(MAKE) -C $$example CROSS_COMPILE="$(HOST_CROSS_COMPILE)" || exit -1; \
Igor Opaniuk06fe31c2017-08-07 02:37:51 +030019 done
20
21examples-clean:
Etienne Carriered3cb2762017-11-09 15:45:53 +010022 @for example in $(EXAMPLE_LIST); do \
Etienne Carriere11388fa2017-11-09 15:46:16 +010023 $(MAKE) -C $$example clean || exit -1; \
Igor Opaniuk06fe31c2017-08-07 02:37:51 +030024 done
25
26prepare-for-rootfs: examples
Etienne Carriered3cb2762017-11-09 15:45:53 +010027 @echo "Copying example CA and TA binaries to $(OUTPUT_DIR)..."
Igor Opaniuk06fe31c2017-08-07 02:37:51 +030028 @mkdir -p $(OUTPUT_DIR)
29 @mkdir -p $(OUTPUT_DIR)/ta
30 @mkdir -p $(OUTPUT_DIR)/ca
31 @for example in $(EXAMPLE_LIST); do \
Etienne Carriered3cb2762017-11-09 15:45:53 +010032 if [ -e $$example/host/optee_example_$$example ]; then \
33 cp -p $$example/host/optee_example_$$example $(OUTPUT_DIR)/ca/; \
Igor Opaniuk06fe31c2017-08-07 02:37:51 +030034 fi; \
35 cp -pr $$example/ta/*.ta $(OUTPUT_DIR)/ta/; \
36 done
37
38prepare-for-rootfs-clean:
Etienne Carriered3cb2762017-11-09 15:45:53 +010039 @rm -rf $(OUTPUT_DIR)/ta
40 @rm -rf $(OUTPUT_DIR)/ca
41 @rmdir --ignore-fail-on-non-empty $(OUTPUT_DIR) || test ! -e $(OUTPUT_DIR)