1# Copyright (C) 2018 Marvell International Ltd.
2#
3# SPDX-License-Identifier:     BSD-3-Clause
4# https://spdx.org/licenses
5
6MV_DDR_LIB		=	$(BUILD_PLAT)/ble/mv_ddr_lib.a
7LIBC_LIB		=	$(BUILD_PLAT)/lib/libc.a
8BLE_LIBS		=	$(MV_DDR_LIB) $(LIBC_LIB)
9PLAT_MARVELL		=	plat/marvell/armada
10
11BLE_SOURCES		+= 	$(BLE_PATH)/ble_main.c				\
12				$(BLE_PATH)/ble_mem.S				\
13				drivers/delay_timer/delay_timer.c		\
14				drivers/marvell/iob.c				\
15				$(PLAT_MARVELL)/common/aarch64/marvell_helpers.S \
16				$(PLAT_MARVELL)/common/plat_delay_timer.c	\
17				$(PLAT_MARVELL)/common/marvell_console.c
18
19MV_DDR_INCLUDES		:=	-I$(CURDIR)/include				\
20				-I$(CURDIR)/include/arch/aarch64		\
21				-I$(CURDIR)/include/lib/libc			\
22				-I$(CURDIR)/include/lib/libc/aarch64
23
24BLE_LINKERFILE		:=	$(BLE_PATH)/ble.ld.S
25
26BLE_OBJS := $(addprefix $(BUILD_PLAT)/ble/,$(call SOURCES_TO_OBJS,$(BLE_SOURCES)))
27$(BLE_OBJS): PLAT_INCLUDES += -I$(MV_DDR_PATH)
28$(BLE_OBJS): $(MV_DDR_LIB)
29
30$(MV_DDR_LIB): FORCE
31#	Do not remove! Following checks are required to ensure correct TF-A builds, removing these checks leads to broken TF-A builds
32	$(if $(value MV_DDR_PATH),,$(error "Platform '$(PLAT)' for BLE requires MV_DDR_PATH. Please set MV_DDR_PATH to point to the right directory"))
33	$(if $(wildcard $(value MV_DDR_PATH)/*),,$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' directory does not exist"))
34	$(if $(shell git -C $(value MV_DDR_PATH) rev-parse --show-cdup 2>&1),$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' does not contain valid mv-ddr-marvell git repository"))
35	@+make -C $(MV_DDR_PATH) --no-print-directory PLAT_INCLUDES="$(MV_DDR_INCLUDES)" PLATFORM=$(PLAT) ARCH=AARCH64 OBJ_DIR=$(BUILD_PLAT)/ble
36