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