blob: f870a61bdefcddc2e070ca3b87ee7f604e5334d8 [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
Firas Zaidane80f7b82017-11-25 15:44:23 +01005EXAMPLE_LIST := $(subst /,,$(dir $(wildcard */Makefile)))
Igor Opaniuk06fe31c2017-08-07 02:37:51 +03006
7.PHONY: all
8all: examples prepare-for-rootfs
9
10.PHONY: clean
11clean: examples-clean prepare-for-rootfs-clean
12
13examples:
Etienne Carriered3cb2762017-11-09 15:45:53 +010014 @for example in $(EXAMPLE_LIST); do \
Etienne Carriere11388fa2017-11-09 15:46:16 +010015 $(MAKE) -C $$example CROSS_COMPILE="$(HOST_CROSS_COMPILE)" || exit -1; \
Igor Opaniuk06fe31c2017-08-07 02:37:51 +030016 done
17
18examples-clean:
Etienne Carriered3cb2762017-11-09 15:45:53 +010019 @for example in $(EXAMPLE_LIST); do \
Etienne Carriere11388fa2017-11-09 15:46:16 +010020 $(MAKE) -C $$example clean || exit -1; \
Igor Opaniuk06fe31c2017-08-07 02:37:51 +030021 done
22
23prepare-for-rootfs: examples
Etienne Carriered3cb2762017-11-09 15:45:53 +010024 @echo "Copying example CA and TA binaries to $(OUTPUT_DIR)..."
Igor Opaniuk06fe31c2017-08-07 02:37:51 +030025 @mkdir -p $(OUTPUT_DIR)
26 @mkdir -p $(OUTPUT_DIR)/ta
27 @mkdir -p $(OUTPUT_DIR)/ca
28 @for example in $(EXAMPLE_LIST); do \
Etienne Carriered3cb2762017-11-09 15:45:53 +010029 if [ -e $$example/host/optee_example_$$example ]; then \
30 cp -p $$example/host/optee_example_$$example $(OUTPUT_DIR)/ca/; \
Igor Opaniuk06fe31c2017-08-07 02:37:51 +030031 fi; \
32 cp -pr $$example/ta/*.ta $(OUTPUT_DIR)/ta/; \
33 done
34
35prepare-for-rootfs-clean:
Etienne Carriered3cb2762017-11-09 15:45:53 +010036 @rm -rf $(OUTPUT_DIR)/ta
37 @rm -rf $(OUTPUT_DIR)/ca
38 @rmdir --ignore-fail-on-non-empty $(OUTPUT_DIR) || test ! -e $(OUTPUT_DIR)