blob: af7298b5957f414ac9ab5e01dfb00ac040c918cc [file] [log] [blame]
Pascal Brandc639ac82015-07-02 08:53:34 +02001# Normally this makefile shouldn't be called directly and we expect the output
2# path to be on a certain location to fit together with the other OP-TEE
3# gits and helper scripts.
4ifeq ($O,)
5$(error output path should be specified when calling this makefile)
6endif
7
Cedric Chaumont1390f3a2015-08-31 13:55:16 +02008include $(TA_DEV_KIT_DIR)/host_include/conf.mk
9
Pascal Brandc639ac82015-07-02 08:53:34 +020010# By default we expect optee_client exported folder to be on a certain relative
11# path, but if the client specifies the OPTEE_CLIENT_EXPORT then that path will
12# be used instead.
13OPTEE_CLIENT_EXPORT ?= ../../../optee_client/out/export
14
Sumit Garg0e009142015-11-04 15:34:07 -050015CC ?= $(CROSS_COMPILE)gcc
16CPP ?= $(CROSS_COMPILE)cpp
17LD ?= $(CROSS_COMPILE)ld
18AR ?= $(CROSS_COMPILE)ar
19NM ?= $(CROSS_COMPILE)nm
20OBJCOPY ?= $(CROSS_COMPILE)objcopy
21OBJDUMP ?= $(CROSS_COMPILE)objdump
22READELF ?= $(CROSS_COMPILE)readelf
Pascal Brandc639ac82015-07-02 08:53:34 +020023
Jerome Forissierc6aac932015-09-24 17:45:08 -070024ifdef CFG_GP_PACKAGE_PATH
25GP := _gp
26endif
27
Jens Wiklander02389a92016-12-16 11:13:38 +010028srcs := xtest_1000.c
29
30ifeq ($(CFG_GP_SOCKETS),y)
31srcs += xtest_2000.c \
32 sock_server.c \
33 rand_stream.c
34endif
35
36srcs += xtest_4000.c \
Pascal Brandc639ac82015-07-02 08:53:34 +020037 xtest_5000.c \
38 xtest_6000.c \
Jerome Forissierc6aac932015-09-24 17:45:08 -070039 xtest_7000$(GP).c \
Pascal Brandc639ac82015-07-02 08:53:34 +020040 xtest_10000.c \
Cedric Chaumont1390f3a2015-08-31 13:55:16 +020041 xtest_20000.c \
James Kung35b352d2015-09-07 18:01:16 +080042 xtest_benchmark_1000.c \
Igor Opaniuk136644a2016-09-13 13:40:56 +030043 xtest_benchmark_2000.c \
Pascal Brandc639ac82015-07-02 08:53:34 +020044 xtest_helpers.c \
45 xtest_main.c \
46 xtest_test.c \
Igor Opaniuk136644a2016-09-13 13:40:56 +030047 sha_perf.c \
Igor Opaniuk44aff4b2016-09-16 10:18:00 +030048 aes_perf.c \
Pascal Brandc639ac82015-07-02 08:53:34 +020049 adbg/src/adbg_case.c \
50 adbg/src/adbg_enum.c \
51 adbg/src/adbg_expect.c \
52 adbg/src/adbg_log.c \
Pascal Brandc639ac82015-07-02 08:53:34 +020053 adbg/src/adbg_run.c \
Jens Wiklandercbebdcf2016-12-27 22:06:51 +010054 adbg/src/security_utils_hex.c
Pascal Brandc639ac82015-07-02 08:53:34 +020055
Jens Wiklander02389a92016-12-16 11:13:38 +010056CFLAGS += -D_GNU_SOURCE
57
Jerome Forissiere3688342015-09-24 10:45:17 -070058ifdef CFG_GP_PACKAGE_PATH
59CFLAGS += -DWITH_GP_TESTS
Pascal Brand8a74e362015-09-10 12:41:52 +020060
Pascal Brandc639ac82015-07-02 08:53:34 +020061srcs += xtest_7500.c \
62 xtest_8000.c \
63 xtest_8500.c \
64 xtest_9000.c
65endif
66
67objs := $(patsubst %.c,$(O)/%.o, $(srcs))
68
69CFLAGS += -I./
70CFLAGS += -I./adbg/include
71CFLAGS += -I./xml/include
72
73CFLAGS += -I$(OPTEE_CLIENT_EXPORT)/include
74CFLAGS += -I$(TA_DEV_KIT_DIR)/host_include
75
76CFLAGS += -I../../ta/create_fail_test/include
77CFLAGS += -I../../ta/crypt/include
78CFLAGS += -I../../ta/enc_fs/include
79CFLAGS += -I../../ta/os_test/include
80CFLAGS += -I../../ta/rpc_test/include
81CFLAGS += -I../../ta/sims/include
82CFLAGS += -I../../ta/storage/include
James Kungdf1e6cf2015-09-14 22:42:24 +080083CFLAGS += -I../../ta/storage_benchmark/include
Jens Wiklanderac27ec12015-07-15 15:23:14 +020084CFLAGS += -I../../ta/concurrent/include
Jens Wiklander70672972016-04-06 00:01:45 +020085CFLAGS += -I../../ta/concurrent_large/include
Igor Opaniuk136644a2016-09-13 13:40:56 +030086CFLAGS += -I../../ta/sha_perf/include
Igor Opaniuk44aff4b2016-09-16 10:18:00 +030087CFLAGS += -I../../ta/aes_perf/include
Jens Wiklander02389a92016-12-16 11:13:38 +010088CFLAGS += -I../../ta/socket/include
Jerome Forissiere3688342015-09-24 10:45:17 -070089ifdef CFG_GP_PACKAGE_PATH
Pascal Brandc639ac82015-07-02 08:53:34 +020090CFLAGS += -I../../ta/GP_TTA_Arithmetical
91CFLAGS += -I../../ta/GP_TTA_Crypto
92CFLAGS += -I../../ta/GP_TTA_DS
93CFLAGS += -I../../ta/GP_TTA_TCF
94CFLAGS += -I../../ta/GP_TTA_TCF_ICA
95CFLAGS += -I../../ta/GP_TTA_TCF_ICA2
96CFLAGS += -I../../ta/GP_TTA_TCF_MultipleInstanceTA
97CFLAGS += -I../../ta/GP_TTA_TCF_SingleInstanceTA
98CFLAGS += -I../../ta/GP_TTA_Time
99CFLAGS += -I../../ta/GP_TTA_answerErrorTo_Invoke
100CFLAGS += -I../../ta/GP_TTA_answerErrorTo_OpenSession
101CFLAGS += -I../../ta/GP_TTA_answerSuccessTo_OpenSession_Invoke
102CFLAGS += -I../../ta/GP_TTA_check_OpenSession_with_4_parameters
103CFLAGS += -I../../ta/GP_TTA_testingClientAPI
104
105# need more include: openssl
106CFLAGS += -Ifor_gp/include
107
Pascal Brandbaa291f2016-02-26 10:14:22 +0100108# by default, the client application is compiled as the kernel of optee-os
Pascal Brandfd1596a2015-07-10 15:02:17 +0200109ifeq ($(CFG_ARM32),y)
Pascal Brandbaa291f2016-02-26 10:14:22 +0100110COMPILE_NS_USER ?= 32
111else
112COMPILE_NS_USER ?= 64
113endif
114
115ifeq ($(COMPILE_NS_USER),32)
Pascal Brandfd1596a2015-07-10 15:02:17 +0200116LDFLAGS += ../lib/armv7/libcrypto.a
Pascal Brandc639ac82015-07-02 08:53:34 +0200117else
Pascal Brandfd1596a2015-07-10 15:02:17 +0200118LDFLAGS += ../lib/armv8/libcrypto.a
Pascal Brandc639ac82015-07-02 08:53:34 +0200119endif
120
Pascal Brandc639ac82015-07-02 08:53:34 +0200121endif
122
Jerome Forissierf9b89252016-08-23 18:30:43 +0200123# Include configuration file generated by OP-TEE OS (CFG_* macros)
124CFLAGS += -include conf.h
Pascal Brandc639ac82015-07-02 08:53:34 +0200125
Jerome Forissiere3688342015-09-24 10:45:17 -0700126ifndef CFG_GP_PACKAGE_PATH
Pascal Brandc639ac82015-07-02 08:53:34 +0200127CFLAGS += -Wall -Wcast-align -Werror \
128 -Werror-implicit-function-declaration -Wextra -Wfloat-equal \
129 -Wformat-nonliteral -Wformat-security -Wformat=2 -Winit-self \
130 -Wmissing-declarations -Wmissing-format-attribute \
131 -Wmissing-include-dirs -Wmissing-noreturn \
132 -Wmissing-prototypes -Wnested-externs -Wpointer-arith \
133 -Wshadow -Wstrict-prototypes -Wswitch-default \
134 -Wwrite-strings \
135 -Wno-missing-field-initializers -Wno-format-zero-length
136endif
137
Jerome Forissiera8b78f12016-08-17 09:40:59 +0200138CFLAGS += -g3
139
Pascal Brandc639ac82015-07-02 08:53:34 +0200140LDFLAGS += -L$(OPTEE_CLIENT_EXPORT)/lib -lteec
Igor Opaniuk136644a2016-09-13 13:40:56 +0300141LDFLAGS += -lpthread -lm
Pascal Brandc639ac82015-07-02 08:53:34 +0200142
143.PHONY: all
144all: xtest
145
146xtest: $(objs)
147 @echo " LD $(O)/$@"
148 $(q)@$(CC) -o $(O)/$@ $+ $(LDFLAGS)
149
150$(O)/%.o: $(CURDIR)/%.c
151 $(q)mkdir -p $(O)/adbg/src
152 @echo ' CC $<'
153 $(q)$(CC) $(CFLAGS) -c $< -o $@
154
155.PHONY: clean
156clean:
157 @echo ' CLEAN $(O)'
158 $(q)rm -f $(O)/xtest
159 $(q)$(foreach obj,$(objs), rm -f $(obj))