blob: d5c78069e4df4035bd57aacd4f28af7055317209 [file] [log] [blame]
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +02001#
2# Copyright (c) 2018, Arm Limited. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6
7include lib/xlat_tables_v2/xlat_tables.mk
8include lib/compiler-rt/compiler-rt.mk
9
10NS_BL1U_INCLUDES := \
11 -I${AUTOGEN_DIR} \
12 -Itftf/framework/include \
13 -Iinclude/common \
14 -Iinclude/common/${ARCH} \
15 -Iinclude/drivers \
16 -Iinclude/drivers/arm \
17 -Iinclude/drivers/io \
18 -Iinclude/lib \
19 -Iinclude/lib/${ARCH} \
20 -Iinclude/lib/stdlib \
21 -Iinclude/lib/stdlib/sys \
22 -Iinclude/lib/utils \
23 -Iinclude/lib/xlat_tables \
24 -Iinclude/plat/common \
25 -Iinclude/runtime_services
26
27# TODO: Remove dependency on TFTF files.
28NS_BL1U_SOURCES := $(addprefix tftf/framework/, \
29 ${ARCH}/arch.c \
30 ${ARCH}/asm_debug.S \
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020031 debug.c \
32)
33
34NS_BL1U_SOURCES += drivers/io/io_fip.c \
35 drivers/io/io_memmap.c \
36 fwu/ns_bl1u/${ARCH}/ns_bl1u_entrypoint.S \
37 fwu/ns_bl1u/ns_bl1u_main.c \
38 lib/${ARCH}/cache_helpers.S \
39 lib/${ARCH}/exception_stubs.S \
40 lib/${ARCH}/misc_helpers.S \
41 lib/locks/${ARCH}/spinlock.S \
42 lib/smc/${ARCH}/asm_smc.S \
43 lib/smc/${ARCH}/smc.c \
44 ${STD_LIB_SOURCES} \
45 lib/utils/mp_printf.c \
46 lib/utils/uuid.c \
47 ${XLAT_TABLES_LIB_SRCS} \
48 plat/arm/common/arm_fwu_io_storage.c \
Sandrine Bailleux3cd87d72018-10-09 11:12:55 +020049 plat/common/${ARCH}/platform_up_stack.S \
50 plat/common/image_loader.c \
51 plat/common/plat_common.c
52
53NS_BL1U_SOURCES += ${COMPILER_RT_SRCS}
54
55ifeq (${FWU_BL_TEST},1)
56 NS_BL1U_SOURCES += fwu/ns_bl1u/ns_bl1u_tests.c
57endif
58
59NS_BL1U_LINKERFILE := fwu/ns_bl1u/ns_bl1u.ld.S
60
61# NS_BL1U requires accessing the flash. Force-enable it.
62NS_BL1U_DEFINES := -DUSE_NVM=1
63
64$(eval $(call add_define,NS_BL1U_DEFINES,ARM_ARCH_MAJOR))
65$(eval $(call add_define,NS_BL1U_DEFINES,ARM_ARCH_MINOR))
66$(eval $(call add_define,NS_BL1U_DEFINES,DEBUG))
67$(eval $(call add_define,NS_BL1U_DEFINES,ENABLE_ASSERTIONS))
68$(eval $(call add_define,NS_BL1U_DEFINES,FWU_BL_TEST))
69$(eval $(call add_define,NS_BL1U_DEFINES,LOG_LEVEL))
70$(eval $(call add_define,NS_BL1U_DEFINES,PLAT_${PLAT}))
71ifeq (${ARCH},aarch32)
72 $(eval $(call add_define,NS_BL1U_DEFINES,AARCH32))
73else
74 $(eval $(call add_define,NS_BL1U_DEFINES,AARCH64))
75endif
76
77ns_bl1u: ${AUTOGEN_DIR}/tests_list.h