blob: bc92298949bee129de08244f2e18cfe51c13a141 [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
Igor Opaniuk06fe31c2017-08-07 02:37:51 +03008
9.PHONY: all
10all: examples prepare-for-rootfs
11
12.PHONY: clean
13clean: examples-clean prepare-for-rootfs-clean
14
15examples:
Etienne Carriered3cb2762017-11-09 15:45:53 +010016 @for example in $(EXAMPLE_LIST); do \
Etienne Carriere11388fa2017-11-09 15:46:16 +010017 $(MAKE) -C $$example CROSS_COMPILE="$(HOST_CROSS_COMPILE)" || exit -1; \
Igor Opaniuk06fe31c2017-08-07 02:37:51 +030018 done
19
20examples-clean:
Etienne Carriered3cb2762017-11-09 15:45:53 +010021 @for example in $(EXAMPLE_LIST); do \
Etienne Carriere11388fa2017-11-09 15:46:16 +010022 $(MAKE) -C $$example clean || exit -1; \
Igor Opaniuk06fe31c2017-08-07 02:37:51 +030023 done
24
25prepare-for-rootfs: examples
Etienne Carriered3cb2762017-11-09 15:45:53 +010026 @echo "Copying example CA and TA binaries to $(OUTPUT_DIR)..."
Igor Opaniuk06fe31c2017-08-07 02:37:51 +030027 @mkdir -p $(OUTPUT_DIR)
28 @mkdir -p $(OUTPUT_DIR)/ta
29 @mkdir -p $(OUTPUT_DIR)/ca
30 @for example in $(EXAMPLE_LIST); do \
Etienne Carriered3cb2762017-11-09 15:45:53 +010031 if [ -e $$example/host/optee_example_$$example ]; then \
32 cp -p $$example/host/optee_example_$$example $(OUTPUT_DIR)/ca/; \
Igor Opaniuk06fe31c2017-08-07 02:37:51 +030033 fi; \
34 cp -pr $$example/ta/*.ta $(OUTPUT_DIR)/ta/; \
35 done
36
37prepare-for-rootfs-clean:
Etienne Carriered3cb2762017-11-09 15:45:53 +010038 @rm -rf $(OUTPUT_DIR)/ta
39 @rm -rf $(OUTPUT_DIR)/ca
40 @rmdir --ignore-fail-on-non-empty $(OUTPUT_DIR) || test ! -e $(OUTPUT_DIR)