blob: 8d08228e6706fb9616560e10140bac64dce2bd44 [file] [log] [blame]
Pascal Brandd6536da2015-09-01 10:38:43 +02001#
2# Common definition to all platforms
3#
4
Jens Wiklander650f2982017-04-05 10:08:59 +02005SHELL := bash
Pascal Brand070d9552015-09-01 15:33:22 +02006BASH ?= bash
Pascal Brandd6536da2015-09-01 10:38:43 +02007ROOT ?= $(shell pwd)/..
8
Philip Attfield3f9250f2016-09-14 07:43:32 +02009BUILD_PATH ?= $(ROOT)/build
Pascal Brandd6536da2015-09-01 10:38:43 +020010LINUX_PATH ?= $(ROOT)/linux
Victor Chong9f0d1202016-04-23 16:28:31 +010011OPTEE_GENDRV_MODULE ?= $(LINUX_PATH)/drivers/tee/optee/optee.ko
Pascal Brand440ef9c2015-09-08 16:01:58 +020012GEN_ROOTFS_PATH ?= $(ROOT)/gen_rootfs
13GEN_ROOTFS_FILELIST ?= $(GEN_ROOTFS_PATH)/filelist-tee.txt
Pascal Brandd6536da2015-09-01 10:38:43 +020014OPTEE_OS_PATH ?= $(ROOT)/optee_os
15OPTEE_CLIENT_PATH ?= $(ROOT)/optee_client
16OPTEE_CLIENT_EXPORT ?= $(OPTEE_CLIENT_PATH)/out/export
Pascal Brandd6536da2015-09-01 10:38:43 +020017OPTEE_TEST_PATH ?= $(ROOT)/optee_test
18OPTEE_TEST_OUT_PATH ?= $(ROOT)/optee_test/out
Victor Chong8519bcf2016-07-15 08:43:03 +010019HELLOWORLD_PATH ?= $(ROOT)/hello_world
Pascal Brandd6536da2015-09-01 10:38:43 +020020
Etienne Carrierecc23f6b2016-10-21 10:16:00 +020021# default high verbosity. slow uarts shall specify lower if prefered
Pascal Brand23ef2052016-03-09 15:25:01 +010022CFG_TEE_CORE_LOG_LEVEL ?= 3
23
Pascal Brandd6536da2015-09-01 10:38:43 +020024CCACHE ?= $(shell which ccache) # Don't remove this comment (space is needed)
25
Igor Opaniuk97d05292016-10-26 14:46:14 +030026# Accessing a shared folder on the host from QEMU:
27# # Set QEMU_VIRTFS_ENABLE to 'y' and adjust QEMU_VIRTFS_HOST_DIR
28# # Then in QEMU, run:
29# # $ mount -t 9p -o trans=virtio host <mount_point>
30QEMU_VIRTFS_ENABLE ?= n
31QEMU_VIRTFS_HOST_DIR ?= $(ROOT)
Pascal Brand6044eb52016-02-23 15:48:31 +010032
Igor Opaniuk0aea4ef2017-01-13 12:52:00 +020033# Enable SLiRP user networking
34QEMU_USERNET_ENABLE ?= n
Pascal Brand6044eb52016-02-23 15:48:31 +010035################################################################################
36# Check coherency of compilation mode
37################################################################################
38
39ifneq ($(COMPILE_NS_USER),)
40ifeq ($(COMPILE_NS_KERNEL),)
41$(error COMPILE_NS_KERNEL must be defined as COMPILE_NS_USER=$(COMPILE_NS_USER) is defined)
42endif
43ifeq (,$(filter $(COMPILE_NS_USER),32 64))
44$(error COMPILE_NS_USER=$(COMPILE_NS_USER) - Should be 32 or 64)
45endif
46endif
47
48ifneq ($(COMPILE_NS_KERNEL),)
49ifeq ($(COMPILE_NS_USER),)
50$(error COMPILE_NS_USER must be defined as COMPILE_NS_KERNEL=$(COMPILE_NS_KERNEL) is defined)
51endif
52ifeq (,$(filter $(COMPILE_NS_KERNEL),32 64))
53$(error COMPILE_NS_KERNEL=$(COMPILE_NS_KERNEL) - Should be 32 or 64)
54endif
55endif
56
57ifeq ($(COMPILE_NS_KERNEL),32)
58ifneq ($(COMPILE_NS_USER),32)
59$(error COMPILE_NS_USER=$(COMPILE_NS_USER) - Should be 32 as COMPILE_NS_KERNEL=$(COMPILE_NS_KERNEL))
60endif
61endif
62
63ifneq ($(COMPILE_S_USER),)
64ifeq ($(COMPILE_S_KERNEL),)
65$(error COMPILE_S_KERNEL must be defined as COMPILE_S_USER=$(COMPILE_S_USER) is defined)
66endif
67ifeq (,$(filter $(COMPILE_S_USER),32 64))
68$(error COMPILE_S_USER=$(COMPILE_S_USER) - Should be 32 or 64)
69endif
70endif
71
72ifneq ($(COMPILE_S_KERNEL),)
73OPTEE_OS_COMMON_EXTRA_FLAGS ?= O=out/arm
74OPTEE_OS_BIN ?= $(OPTEE_OS_PATH)/out/arm/core/tee.bin
75ifeq ($(COMPILE_S_USER),)
76$(error COMPILE_S_USER must be defined as COMPILE_S_KERNEL=$(COMPILE_S_KERNEL) is defined)
77endif
78ifeq (,$(filter $(COMPILE_S_KERNEL),32 64))
79$(error COMPILE_S_KERNEL=$(COMPILE_S_KERNEL) - Should be 32 or 64)
80endif
81endif
82
83ifeq ($(COMPILE_S_KERNEL),32)
84ifneq ($(COMPILE_S_USER),32)
85$(error COMPILE_S_USER=$(COMPILE_S_USER) - Should be 32 as COMPILE_S_KERNEL=$(COMPILE_S_KERNEL))
86endif
87endif
88
89
90################################################################################
91# set the compiler when COMPILE_xxx are defined
92################################################################################
Pascal Brandefe56592016-03-03 10:46:52 +010093CROSS_COMPILE_NS_USER ?= "$(CCACHE)$(AARCH$(COMPILE_NS_USER)_CROSS_COMPILE)"
94CROSS_COMPILE_NS_KERNEL ?= "$(CCACHE)$(AARCH$(COMPILE_NS_KERNEL)_CROSS_COMPILE)"
95CROSS_COMPILE_S_USER ?= "$(CCACHE)$(AARCH$(COMPILE_S_USER)_CROSS_COMPILE)"
96CROSS_COMPILE_S_KERNEL ?= "$(CCACHE)$(AARCH$(COMPILE_S_KERNEL)_CROSS_COMPILE)"
Pascal Brand6044eb52016-02-23 15:48:31 +010097
98ifeq ($(COMPILE_S_USER),32)
Pascal Brand6044eb52016-02-23 15:48:31 +010099OPTEE_OS_TA_DEV_KIT_DIR ?= $(OPTEE_OS_PATH)/out/arm/export-ta_arm32
100endif
101ifeq ($(COMPILE_S_USER),64)
Pascal Brand6044eb52016-02-23 15:48:31 +0100102OPTEE_OS_TA_DEV_KIT_DIR ?= $(OPTEE_OS_PATH)/out/arm/export-ta_arm64
103endif
104
Pascal Brand6044eb52016-02-23 15:48:31 +0100105ifeq ($(COMPILE_S_KERNEL),64)
Pascal Brand6044eb52016-02-23 15:48:31 +0100106OPTEE_OS_COMMON_EXTRA_FLAGS += CFG_ARM64_core=y
107endif
108
109
Pascal Brandd6536da2015-09-01 10:38:43 +0200110################################################################################
Pascal Brand070d9552015-09-01 15:33:22 +0200111# defines, macros, configuration etc
112################################################################################
113define KERNEL_VERSION
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200114$(shell cd $(LINUX_PATH) && $(MAKE) --no-print-directory kernelversion)
Pascal Brand070d9552015-09-01 15:33:22 +0200115endef
116DEBUG ?= 0
117
118################################################################################
Pascal Brandcb452602015-10-13 10:46:33 +0200119# default target is all
120################################################################################
121all:
122
123################################################################################
Pascal Brand440ef9c2015-09-08 16:01:58 +0200124# Busybox
125################################################################################
126BUSYBOX_COMMON_TARGET ?= TOBEDEFINED
127BUSYBOX_CLEAN_COMMON_TARGET ?= TOBEDEFINED
Pascal Brand440ef9c2015-09-08 16:01:58 +0200128
129busybox-common: linux
130 cd $(GEN_ROOTFS_PATH) && \
Pascal Brandefe56592016-03-03 10:46:52 +0100131 CROSS_COMPILE=$(CROSS_COMPILE_NS_USER) \
Pascal Brand440ef9c2015-09-08 16:01:58 +0200132 PATH=${PATH}:$(LINUX_PATH)/usr \
133 $(GEN_ROOTFS_PATH)/generate-cpio-rootfs.sh \
134 $(BUSYBOX_COMMON_TARGET)
135
136busybox-clean-common:
137 cd $(GEN_ROOTFS_PATH) && \
138 $(GEN_ROOTFS_PATH)/generate-cpio-rootfs.sh \
139 $(BUSYBOX_CLEAN_COMMON_TARGET)
140
141busybox-cleaner-common:
142 rm -rf $(GEN_ROOTFS_PATH)/build
143 rm -rf $(GEN_ROOTFS_PATH)/filelist-final.txt
Victor Chong87f5fcf2015-11-26 10:52:52 +0900144
Pascal Brande3d85982015-09-10 17:20:42 +0200145################################################################################
146# Linux
147################################################################################
148LINUX_COMMON_FLAGS ?= LOCALVERSION= CROSS_COMPILE=$(CROSS_COMPILE_NS_KERNEL)
149
150linux-common: linux-defconfig
151 $(MAKE) -C $(LINUX_PATH) $(LINUX_COMMON_FLAGS)
152
Jerome Forissiere1002382015-11-26 11:36:00 +0100153$(LINUX_PATH)/.config: $(LINUX_DEFCONFIG_COMMON_FILES)
154 cd $(LINUX_PATH) && \
155 ARCH=$(LINUX_DEFCONFIG_COMMON_ARCH) \
156 scripts/kconfig/merge_config.sh $(LINUX_DEFCONFIG_COMMON_FILES)
157
Pascal Brande3d85982015-09-10 17:20:42 +0200158linux-defconfig-clean-common:
Victor Chong87f5fcf2015-11-26 10:52:52 +0900159 rm -f $(LINUX_PATH)/.config
Pascal Brande3d85982015-09-10 17:20:42 +0200160
Victor Chong87f5fcf2015-11-26 10:52:52 +0900161# LINUX_CLEAN_COMMON_FLAGS can be defined in specific makefiles (hikey.mk,...)
162# if necessary
163
Pascal Brande3d85982015-09-10 17:20:42 +0200164linux-clean-common: linux-defconfig-clean
165 $(MAKE) -C $(LINUX_PATH) $(LINUX_CLEAN_COMMON_FLAGS) clean
166
Victor Chong87f5fcf2015-11-26 10:52:52 +0900167# LINUX_CLEANER_COMMON_FLAGS can be defined in specific makefiles (hikey.mk,...)
168# if necessary
Pascal Brande3d85982015-09-10 17:20:42 +0200169
170linux-cleaner-common: linux-defconfig-clean
Victor Chong87f5fcf2015-11-26 10:52:52 +0900171 $(MAKE) -C $(LINUX_PATH) $(LINUX_CLEANER_COMMON_FLAGS) distclean
Pascal Brande3d85982015-09-10 17:20:42 +0200172
Pascal Brand440ef9c2015-09-08 16:01:58 +0200173################################################################################
Pascal Brand9a0f50f2015-09-08 15:34:17 +0200174# EDK2 / Tianocore
175################################################################################
176# Make sure edksetup.sh only will be called once and that we don't rebuild
177# BaseTools again and again.
178$(EDK2_PATH)/Conf/target.txt:
Jens Wiklander650f2982017-04-05 10:08:59 +0200179 set -e && cd $(EDK2_PATH) && source edksetup.sh && \
Pascal Brand9a0f50f2015-09-08 15:34:17 +0200180 $(MAKE) -j1 -C $(EDK2_PATH)/BaseTools
181
182edk2-common: $(EDK2_PATH)/Conf/target.txt
Jens Wiklander650f2982017-04-05 10:08:59 +0200183 set -e && cd $(EDK2_PATH) && source edksetup.sh && \
Pascal Brand9a0f50f2015-09-08 15:34:17 +0200184 $(call edk2-call)
185
186edk2-clean-common:
Jens Wiklander650f2982017-04-05 10:08:59 +0200187 set -e && cd $(EDK2_PATH) && source edksetup.sh && \
Pascal Brand9a0f50f2015-09-08 15:34:17 +0200188 $(call edk2-call) clean && \
189 $(MAKE) -j1 -C $(EDK2_PATH)/BaseTools clean && \
190 rm -f $(EDK2_PATH)/Conf/target.txt
Igor Opaniuk97d05292016-10-26 14:46:14 +0300191################################################################################
192# QEMU / QEMUv8
193################################################################################
194QEMU_CONFIGURE_PARAMS_COMMON = --cc="$(CCACHE)gcc" --extra-cflags="-Wno-error"
Pascal Brand9a0f50f2015-09-08 15:34:17 +0200195
Igor Opaniuk97d05292016-10-26 14:46:14 +0300196ifeq ($(QEMU_VIRTFS_ENABLE),y)
Jerome Forissier23b41312016-11-12 16:02:01 +0100197QEMU_CONFIGURE_PARAMS_COMMON += --enable-virtfs
Igor Opaniuk97d05292016-10-26 14:46:14 +0300198QEMU_EXTRA_ARGS +=\
199 -fsdev local,id=fsdev0,path=$(QEMU_VIRTFS_HOST_DIR),security_model=none \
200 -device virtio-9p-device,fsdev=fsdev0,mount_tag=host
201endif
Igor Opaniuk0aea4ef2017-01-13 12:52:00 +0200202
203ifeq ($(QEMU_USERNET_ENABLE),y)
204QEMU_EXTRA_ARGS +=\
205 -netdev user,id=vmnic -device virtio-net-device,netdev=vmnic
206endif
Jerome Forissierefd56292017-01-31 17:46:10 +0100207
208define run-help
209 @echo
210 @echo \* QEMU is now waiting to start the execution
211 @echo \* Start execution with either a \'c\' followed by \<enter\> in the QEMU console or
212 @echo \* attach a debugger and continue from there.
213 @echo \*
214 @echo \* To run OP-TEE tests, use the xtest command in the \'Normal World\' terminal
215 @echo \* Enter \'xtest -h\' for help.
216 @echo
217endef
218
219gnome-terminal := $(shell command -v gnome-terminal 2>/dev/null)
220xterm := $(shell command -v xterm 2>/dev/null)
221ifdef gnome-terminal
222# Note: the title option (-t) is ignored with gnome-terminal versions
223# >= 3.14 and < 3.20
224define launch-terminal
225 @nc -z 127.0.0.1 $(1) || \
226 $(gnome-terminal) -t "$(2)" -x $(SOC_TERM_PATH)/soc_term $(1) &
227endef
228else
229ifdef xterm
230define launch-terminal
231 @nc -z 127.0.0.1 $(1) || \
232 $(xterm) -title $(2) -e $(BASH) -c "$(SOC_TERM_PATH)/soc_term $(1)" &
233endef
234else
235check-terminal := @echo "Error: could not find gnome-terminal nor xterm" ; false
236endif
237endif
238
239define wait-for-ports
240 @while ! nc -z 127.0.0.1 $(1) || ! nc -z 127.0.0.1 $(2); do sleep 1; done
241endef
242
Pascal Brand9a0f50f2015-09-08 15:34:17 +0200243################################################################################
Pascal Brand070d9552015-09-01 15:33:22 +0200244# OP-TEE
245################################################################################
Pascal Brand6044eb52016-02-23 15:48:31 +0100246OPTEE_OS_COMMON_FLAGS ?= \
247 $(OPTEE_OS_COMMON_EXTRA_FLAGS) \
248 CROSS_COMPILE=$(CROSS_COMPILE_S_USER) \
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200249 CROSS_COMPILE_core=$(CROSS_COMPILE_S_KERNEL) \
Victor Chongbadc7922015-12-08 17:23:20 +0000250 CROSS_COMPILE_ta_arm64=$(AARCH64_CROSS_COMPILE) \
251 CROSS_COMPILE_ta_arm32=$(AARCH32_CROSS_COMPILE) \
Pascal Brand23ef2052016-03-09 15:25:01 +0100252 CFG_TEE_CORE_LOG_LEVEL=$(CFG_TEE_CORE_LOG_LEVEL) \
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200253 DEBUG=$(DEBUG)
254
Pascal Brand070d9552015-09-01 15:33:22 +0200255optee-os-common:
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200256 $(MAKE) -C $(OPTEE_OS_PATH) $(OPTEE_OS_COMMON_FLAGS)
257
Pascal Brand6044eb52016-02-23 15:48:31 +0100258OPTEE_OS_CLEAN_COMMON_FLAGS ?= $(OPTEE_OS_COMMON_EXTRA_FLAGS)
Pascal Brand070d9552015-09-01 15:33:22 +0200259
Victor Chong8519bcf2016-07-15 08:43:03 +0100260optee-os-clean-common: xtest-clean helloworld-clean
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200261 $(MAKE) -C $(OPTEE_OS_PATH) $(OPTEE_OS_CLEAN_COMMON_FLAGS) clean
262
263OPTEE_CLIENT_COMMON_FLAGS ?= CROSS_COMPILE=$(CROSS_COMPILE_NS_USER)
Pascal Brand070d9552015-09-01 15:33:22 +0200264
265optee-client-common:
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200266 $(MAKE) -C $(OPTEE_CLIENT_PATH) $(OPTEE_CLIENT_COMMON_FLAGS)
267
Victor Chong87f5fcf2015-11-26 10:52:52 +0900268# OPTEE_CLIENT_CLEAN_COMMON_FLAGS can be defined in specific makefiles
269# (hikey.mk,...) if necessary
Pascal Brand070d9552015-09-01 15:33:22 +0200270
271optee-client-clean-common:
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200272 $(MAKE) -C $(OPTEE_CLIENT_PATH) $(OPTEE_CLIENT_CLEAN_COMMON_FLAGS) \
273 clean
274
Pascal Brand070d9552015-09-01 15:33:22 +0200275################################################################################
Pascal Brandd6536da2015-09-01 10:38:43 +0200276# xtest / optee_test
277################################################################################
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200278XTEST_COMMON_FLAGS ?= CROSS_COMPILE_HOST=$(CROSS_COMPILE_NS_USER)\
279 CROSS_COMPILE_TA=$(CROSS_COMPILE_S_USER) \
280 TA_DEV_KIT_DIR=$(OPTEE_OS_TA_DEV_KIT_DIR) \
Etienne Carriere5e113512016-10-21 10:13:57 +0200281 OPTEE_CLIENT_EXPORT=$(OPTEE_CLIENT_EXPORT) \
Pascal Brand6044eb52016-02-23 15:48:31 +0100282 COMPILE_NS_USER=$(COMPILE_NS_USER) \
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200283 O=$(OPTEE_TEST_OUT_PATH)
284
Pascal Brandd6536da2015-09-01 10:38:43 +0200285xtest-common: optee-os optee-client
Pascal Branddc83b9a2015-09-24 02:43:25 +0200286 $(MAKE) -C $(OPTEE_TEST_PATH) $(XTEST_COMMON_FLAGS)
Pascal Brandd6536da2015-09-01 10:38:43 +0200287
Etienne Carriere965db7b2017-01-10 17:50:21 +0100288XTEST_CLEAN_COMMON_FLAGS ?= O=$(OPTEE_TEST_OUT_PATH) \
289 TA_DEV_KIT_DIR=$(OPTEE_OS_TA_DEV_KIT_DIR) \
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200290
Pascal Brandd6536da2015-09-01 10:38:43 +0200291xtest-clean-common:
Pascal Branddc83b9a2015-09-24 02:43:25 +0200292 $(MAKE) -C $(OPTEE_TEST_PATH) $(XTEST_CLEAN_COMMON_FLAGS) clean
Pascal Brandd6536da2015-09-01 10:38:43 +0200293
Pascal Branddc83b9a2015-09-24 02:43:25 +0200294XTEST_PATCH_COMMON_FLAGS ?= $(XTEST_COMMON_FLAGS)
Jerome Forissierae45fbf2015-09-04 09:40:17 +0200295
Pascal Branddc83b9a2015-09-24 02:43:25 +0200296xtest-patch-common:
297 $(MAKE) -C $(OPTEE_TEST_PATH) $(XTEST_PATCH_COMMON_FLAGS) patch
Victor Chong8519bcf2016-07-15 08:43:03 +0100298
299################################################################################
300# hello_world
301################################################################################
302HELLOWORLD_COMMON_FLAGS ?= HOST_CROSS_COMPILE=$(CROSS_COMPILE_NS_USER)\
303 TA_CROSS_COMPILE=$(CROSS_COMPILE_S_USER) \
304 TA_DEV_KIT_DIR=$(OPTEE_OS_TA_DEV_KIT_DIR) \
305 TEEC_EXPORT=$(OPTEE_CLIENT_EXPORT)
306
307helloworld-common: optee-os optee-client
308 $(MAKE) -C $(HELLOWORLD_PATH) $(HELLOWORLD_COMMON_FLAGS)
309
310HELLOWORLD_CLEAN_COMMON_FLAGS ?= TA_DEV_KIT_DIR=$(OPTEE_OS_TA_DEV_KIT_DIR)
311
312helloworld-clean-common:
313 $(MAKE) -C $(HELLOWORLD_PATH) $(HELLOWORLD_CLEAN_COMMON_FLAGS) clean
Etienne Carriere5e113512016-10-21 10:13:57 +0200314
315################################################################################
316# rootfs
317################################################################################
318update_rootfs-common: busybox filelist-tee
319 cat $(GEN_ROOTFS_PATH)/filelist-final.txt > $(GEN_ROOTFS_PATH)/filelist.tmp
320 cat $(GEN_ROOTFS_FILELIST) >> $(GEN_ROOTFS_PATH)/filelist.tmp
321 cd $(GEN_ROOTFS_PATH) && \
322 $(LINUX_PATH)/usr/gen_init_cpio $(GEN_ROOTFS_PATH)/filelist.tmp | \
323 gzip > $(GEN_ROOTFS_PATH)/filesystem.cpio.gz
324
325update_rootfs-clean-common:
326 rm -f $(GEN_ROOTFS_PATH)/filesystem.cpio.gz
327 rm -f $(GEN_ROOTFS_PATH)/filelist-all.txt
328 rm -f $(GEN_ROOTFS_PATH)/filelist-tmp.txt
329 rm -f $(GEN_ROOTFS_FILELIST)
330
331filelist-tee-common: fl:=$(GEN_ROOTFS_FILELIST)
332filelist-tee-common: optee-client xtest helloworld
333 @echo "# filelist-tee-common /start" > $(fl)
334 @echo "dir /lib/optee_armtz 755 0 0" >> $(fl)
335 @echo "# xtest / optee_test" >> $(fl)
336 @find $(OPTEE_TEST_OUT_PATH) -type f -name "xtest" | \
337 sed 's/\(.*\)/file \/bin\/xtest \1 755 0 0/g' >> $(fl)
338 @find $(OPTEE_TEST_OUT_PATH) -name "*.ta" | \
339 sed 's/\(.*\)\/\(.*\)/file \/lib\/optee_armtz\/\2 \1\/\2 444 0 0/g' \
340 >> $(fl)
341 @if [ -e $(HELLOWORLD_PATH)/host/hello_world ]; then \
342 echo "file /bin/hello_world" \
343 "$(HELLOWORLD_PATH)/host/hello_world 755 0 0" >> $(fl); \
Joakim Bech4b85a682016-12-21 09:41:51 +0100344 echo "file /lib/optee_armtz/8aaaf200-2450-11e4-abe2-0002a5d5c51b.ta" \
345 "$(HELLOWORLD_PATH)/ta/8aaaf200-2450-11e4-abe2-0002a5d5c51b.ta" \
Etienne Carriere5e113512016-10-21 10:13:57 +0200346 "444 0 0" >> $(fl); \
347 fi
Igor Opaniuk0aea4ef2017-01-13 12:52:00 +0200348 @if [ "$(QEMU_USERNET_ENABLE)" = "y" ]; then \
349 echo "slink /etc/rc.d/S02_udhcp_networking /etc/init.d/udhcpc 755 0 0" \
350 >> $(fl); \
351 fi
Etienne Carriere5e113512016-10-21 10:13:57 +0200352 @echo "# Secure storage dir" >> $(fl)
353 @echo "dir /data 755 0 0" >> $(fl)
354 @echo "dir /data/tee 755 0 0" >> $(fl)
355 @if [ -e $(OPTEE_GENDRV_MODULE) ]; then \
356 echo "# OP-TEE device" >> $(fl); \
357 echo "dir /lib/modules 755 0 0" >> $(fl); \
358 echo "dir /lib/modules/$(call KERNEL_VERSION) 755 0 0" \
359 >> $(fl); \
360 echo "file /lib/modules/$(call KERNEL_VERSION)/optee.ko" \
361 "$(OPTEE_GENDRV_MODULE) 755 0 0" \
362 >> $(fl); \
363 fi
364 @echo "# OP-TEE Client" >> $(fl)
365 @echo "file /bin/tee-supplicant $(OPTEE_CLIENT_EXPORT)/bin/tee-supplicant 755 0 0" \
366 >> $(fl)
367 @echo "file /lib/libteec.so.1.0 $(OPTEE_CLIENT_EXPORT)/lib/libteec.so.1.0 755 0 0" \
368 >> $(fl)
369 @echo "slink /lib/libteec.so.1 libteec.so.1.0 755 0 0" >> $(fl)
370 @echo "slink /lib/libteec.so libteec.so.1 755 0 0" >> $(fl)
371 @if [ -e $(OPTEE_CLIENT_EXPORT)/lib/libsqlfs.so.1.0 ]; then \
372 echo "file /lib/libsqlfs.so.1.0" \
373 "$(OPTEE_CLIENT_EXPORT)/lib/libsqlfs.so.1.0 755 0 0" \
374 >> $(fl); \
375 echo "slink /lib/libsqlfs.so.1 libsqlfs.so.1.0 755 0 0" >> $(fl); \
376 echo "slink /lib/libsqlfs.so libsqlfs.so.1 755 0 0" >> $(fl); \
377 fi
Jerome Forissier1333db42017-01-18 10:20:51 +0100378 @echo "file /etc/init.d/optee $(BUILD_PATH)/init.d.optee 755 0 0" >> $(fl)
379 @echo "slink /etc/rc.d/S09_optee /etc/init.d/optee 755 0 0" >> $(fl)
Etienne Carriere5e113512016-10-21 10:13:57 +0200380 @echo "# filelist-tee-common /end" >> $(fl)