xref: /OK3568_Linux_fs/external/security/rk_tee_user/v2/Makefile (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1ifeq ($O,)
2out-dir := $(CURDIR)/out
3else
4include scripts/common.mk
5out-dir := $(call strip-trailing-slashes-and-dots,$(O))
6ifeq ($(out-dir),)
7$(error invalid output directory (O=$(O)))
8endif
9endif
10
11-include $(TA_DEV_KIT_DIR)/host_include/conf.mk
12
13ifneq ($V,1)
14	q := @
15	echo := @echo
16else
17	q :=
18	echo := @:
19endif
20# export 'q', used by sub-makefiles.
21export q
22
23# If _HOST or _TA specific compilers are not specified, then use CROSS_COMPILE
24CROSS_COMPILE_HOST ?= $(CROSS_COMPILE)
25CROSS_COMPILE_TA ?= $(CROSS_COMPILE)
26
27.PHONY: all
28ifneq ($(wildcard $(TA_DEV_KIT_DIR)/host_include/conf.mk),)
29ifeq "$(BUILD_CA)" "y"
30all: rk_test xtest ta extra_app
31else
32all: ta
33endif
34else
35all:
36	$(q)echo "TA_DEV_KIT_DIR is not correctly defined" && false
37endif
38
39.PHONY: extra_app
40extra_app:
41	$(q)[ ! -d host/extra_app ] || \
42	    $(MAKE) -C host/extra_app CROSS_COMPILE="$(CROSS_COMPILE_HOST)" \
43				--no-builtin-variables \
44				q=$(q) \
45				O=$(out-dir)/extra_app  \
46				$@
47
48.PHONY: rk_test
49rk_test:
50	$(q)$(MAKE) -C host/rk_test CROSS_COMPILE="$(CROSS_COMPILE_HOST)" \
51				--no-builtin-variables \
52				q=$(q) \
53				O=$(out-dir)/rk_test  \
54				$@
55
56.PHONY: xtest
57xtest:
58	$(q)$(MAKE) -C host/xtest CROSS_COMPILE="$(CROSS_COMPILE_HOST)" \
59				--no-builtin-variables \
60				q=$(q) \
61				O=$(out-dir)  \
62				$@
63
64.PHONY: ta
65ta:
66	$(q)$(MAKE) -C ta CROSS_COMPILE="$(CROSS_COMPILE_TA)" \
67			  O=$(out-dir) \
68			  $@
69
70.PHONY: clean
71ifneq ($(wildcard $(TA_DEV_KIT_DIR)/host_include/conf.mk),)
72clean:
73	$(q)$(MAKE) -C host/rk_test O=$(out-dir) $@
74	$(q)$(MAKE) -C host/xtest O=$(out-dir) $@
75	$(q)$(MAKE) -C ta O=$(out-dir) $@
76	$(q)[ ! -d host/extra_app ] || $(MAKE) -C host/extra_app O=$(out-dir) $@
77	$(q)find ta/ \( -name "*.ta" -o -name "*.dmp" -o -name "*.elf" -o -name "*.map" \) -exec rm -rf {} \;
78
79else
80clean:
81	$(q)echo "TA_DEV_KIT_DIR is not correctly defined"
82	$(q)echo "You can remove manually $(out-dir)"
83endif
84
85
86
87install:
88	$(echo) '  INSTALL ${DESTDIR}/lib/optee_armtz'
89	$(q)mkdir -p ${DESTDIR}/lib/optee_armtz
90	$(q)find $(out-dir) -name \*.ta -exec cp -a {} ${DESTDIR}/lib/optee_armtz \;
91	$(echo) '  INSTALL ${DESTDIR}/bin'
92	$(q)mkdir -p ${DESTDIR}/bin
93	$(q)cp -a $(out-dir)/xtest/xtest ${DESTDIR}/bin
94	$(echo) '  INSTALL ${DESTDIR}/$(CFG_TEE_PLUGIN_LOAD_PATH)'
95	$(q)mkdir -p ${DESTDIR}/$(CFG_TEE_PLUGIN_LOAD_PATH)
96	$(q)cp $(out-dir)/supp_plugin/*.plugin ${DESTDIR}/$(CFG_TEE_PLUGIN_LOAD_PATH)
97
98.PHONY: cscope
99cscope:
100	$(echo) '  CSCOPE  .'
101	${q}rm -f cscope.*
102	${q}find $(PWD) -name "*.[ch]" -o -name "*.cpp" | grep -v /package/ > cscope.files
103	${q}cscope -b -q -k
104