blob: 31019fa4fd868de5024abd288ebd3ff202406ef2 [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 \
Igor Opaniuk06fe31c2017-08-07 02:37:51 +030017 $(MAKE) -C $$example CROSS_COMPILE="$(HOST_CROSS_COMPILE)"; \
18 done
19
20examples-clean:
Etienne Carriered3cb2762017-11-09 15:45:53 +010021 @for example in $(EXAMPLE_LIST); do \
Igor Opaniuk06fe31c2017-08-07 02:37:51 +030022 $(MAKE) -C $$example clean; \
23 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)