blob: 9359d95964956b821acad40f442ba9d7ca47899a [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 \
Yann Dirsone9c87052021-04-12 17:48:10 +020015 $(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 \
Yann Dirsone9c87052021-04-12 17:48:10 +020020 $(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
Sumit Gargff4b4932021-07-20 14:20:10 +053028 @mkdir -p $(OUTPUT_DIR)/plugins
Igor Opaniuk06fe31c2017-08-07 02:37:51 +030029 @for example in $(EXAMPLE_LIST); do \
Etienne Carriered3cb2762017-11-09 15:45:53 +010030 if [ -e $$example/host/optee_example_$$example ]; then \
31 cp -p $$example/host/optee_example_$$example $(OUTPUT_DIR)/ca/; \
Igor Opaniuk06fe31c2017-08-07 02:37:51 +030032 fi; \
33 cp -pr $$example/ta/*.ta $(OUTPUT_DIR)/ta/; \
Alejandro Enedino Hernandez Samaniegof909bfa2022-02-26 01:52:26 +000034 if [ $$example = plugins ]; then \
Sumit Gargff4b4932021-07-20 14:20:10 +053035 cp -p plugins/syslog/*.plugin $(OUTPUT_DIR)/plugins/; \
36 fi; \
Igor Opaniuk06fe31c2017-08-07 02:37:51 +030037 done
38
39prepare-for-rootfs-clean:
Etienne Carriered3cb2762017-11-09 15:45:53 +010040 @rm -rf $(OUTPUT_DIR)/ta
41 @rm -rf $(OUTPUT_DIR)/ca
Sumit Gargff4b4932021-07-20 14:20:10 +053042 @rm -rf $(OUTPUT_DIR)/plugins
Etienne Carriered3cb2762017-11-09 15:45:53 +010043 @rmdir --ignore-fail-on-non-empty $(OUTPUT_DIR) || test ! -e $(OUTPUT_DIR)