blob: f6be8c2a609f164aede26a76eba4451ebc402fef [file] [log] [blame]
Etienne Carriere3ddc3622017-03-13 15:31:15 +01001ifeq ($O,)
2out-dir := $(CURDIR)/out
Pascal Brandc639ac82015-07-02 08:53:34 +02003else
Etienne Carriere3ddc3622017-03-13 15:31:15 +01004include scripts/common.mk
5out-dir := $(call strip-trailing-slashes-and-dots,$(O))
6ifeq ($(out-dir),)
7$(error invalid output directory (O=$(O)))
8endif
Pascal Brandc639ac82015-07-02 08:53:34 +02009endif
10
Pascal Brande0d18412015-10-13 12:53:58 +020011-include $(TA_DEV_KIT_DIR)/host_include/conf.mk
Cedric Chaumont1390f3a2015-08-31 13:55:16 +020012
Pascal Brandc639ac82015-07-02 08:53:34 +020013ifneq ($V,1)
14 q := @
Jerome Forissier2a1ef2c2016-06-15 11:07:27 +020015 echo := @echo
Pascal Brandc639ac82015-07-02 08:53:34 +020016else
17 q :=
Jerome Forissier2a1ef2c2016-06-15 11:07:27 +020018 echo := @:
Pascal Brandc639ac82015-07-02 08:53:34 +020019endif
Etienne Carriere3ddc3622017-03-13 15:31:15 +010020# export 'q', used by sub-makefiles.
21export q
Pascal Brandc639ac82015-07-02 08:53:34 +020022
Andrew F. Davis04b03592016-08-08 15:05:04 -050023# If _HOST or _TA specific compilers are not specified, then use CROSS_COMPILE
24CROSS_COMPILE_HOST ?= $(CROSS_COMPILE)
25CROSS_COMPILE_TA ?= $(CROSS_COMPILE)
26
Pascal Brandc639ac82015-07-02 08:53:34 +020027.PHONY: all
Pascal Brande0d18412015-10-13 12:53:58 +020028ifneq ($(wildcard $(TA_DEV_KIT_DIR)/host_include/conf.mk),)
Pascal Brandc639ac82015-07-02 08:53:34 +020029all: xtest ta
Pascal Brande0d18412015-10-13 12:53:58 +020030else
31all:
32 $(q)echo "TA_DEV_KIT_DIR is not correctly defined" && false
33endif
Pascal Brandc639ac82015-07-02 08:53:34 +020034
35.PHONY: xtest
36xtest:
37 $(q)$(MAKE) -C host/xtest CROSS_COMPILE="$(CROSS_COMPILE_HOST)" \
Sumit Garg0e009142015-11-04 15:34:07 -050038 --no-builtin-variables \
Etienne Carriere3ddc3622017-03-13 15:31:15 +010039 O=$(out-dir) \
Pascal Brandc639ac82015-07-02 08:53:34 +020040 $@
41
42.PHONY: ta
43ta:
44 $(q)$(MAKE) -C ta CROSS_COMPILE="$(CROSS_COMPILE_TA)" \
Etienne Carriere3ddc3622017-03-13 15:31:15 +010045 O=$(out-dir) \
Pascal Brandc639ac82015-07-02 08:53:34 +020046 $@
47
48.PHONY: clean
Pascal Brande0d18412015-10-13 12:53:58 +020049ifneq ($(wildcard $(TA_DEV_KIT_DIR)/host_include/conf.mk),)
Pascal Brandc639ac82015-07-02 08:53:34 +020050clean:
Etienne Carriere3ddc3622017-03-13 15:31:15 +010051 $(q)$(MAKE) -C host/xtest O=$(out-dir) $@
52 $(q)$(MAKE) -C ta O=$(out-dir) $@
Pascal Brande0d18412015-10-13 12:53:58 +020053else
54clean:
55 $(q)echo "TA_DEV_KIT_DIR is not correctly defined"
56 $(q)echo "You can remove manually $(out-dir)"
57endif
Pascal Brandc639ac82015-07-02 08:53:34 +020058
Markus S. Wamsera00bfb82018-10-16 11:20:32 +020059.PHONY: checkpatch checkpatch-staging checkpatch-working
60checkpatch: checkpatch-staging checkpatch-working
61
62checkpatch-working:
63 @./scripts/checkpatch.sh
64
65checkpatch-staging:
66 @./scripts/checkpatch.sh --cached
67
Jerome Forissier2a1ef2c2016-06-15 11:07:27 +020068install:
69 $(echo) ' INSTALL ${DESTDIR}/lib/optee_armtz'
70 $(q)mkdir -p ${DESTDIR}/lib/optee_armtz
71 $(q)find $(out-dir) -name \*.ta -exec cp -a {} ${DESTDIR}/lib/optee_armtz \;
72 $(echo) ' INSTALL ${DESTDIR}/bin'
73 $(q)mkdir -p ${DESTDIR}/bin
74 $(q)cp -a $(out-dir)/xtest/xtest ${DESTDIR}/bin
Jerome Forissier07566712020-06-17 17:55:00 +020075
76.PHONY: cscope
77cscope:
78 $(echo) ' CSCOPE .'
79 ${q}rm -f cscope.*
80 ${q}find $(PWD) -name "*.[ch]" -o -name "*.cpp" | grep -v /package/ > cscope.files
81 ${q}cscope -b -q -k