mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-17 01:54:22 +00:00

This change introduces a few helper variables for dealing with verbose and silent build modes: `silent`, `verbose`, `q` and `s`. The `silent` and `verbose` variables are boolean values determining whether the build system has been configured to run silently or verbosely respectively (i.e. with `--silent` or `V=1`). These two modes cannot be used together - if `silent` is truthy then `verbose` is always falsy. As such: make --silent V=1 ... results in a silent build. In addition to these boolean variables, we also introduce two new variables - `s` and `q` - for use in rule recipes to conditionally suppress the output of commands. When building silently, `s` expands to a value which disables the command that follows, and `q` expands to a value which supppresses echoing of the command: $(s)echo 'This command is neither echoed nor executed' $(q)echo 'This command is executed but not echoed' When building verbosely, `s` expands to a value which disables the command that follows, and `q` expands to nothing: $(s)echo 'This command is neither echoed nor executed' $(q)echo 'This command is executed and echoed' In all other cases, both `s` and `q` expand to a value which suppresses echoing of the command that follows: $(s)echo 'This command is executed but not echoed' $(q)echo 'This command is executed but not echoed' The `s` variable is predominantly useful for `echo` commands, where you always want to suppress echoing of the command itself, whilst `q` is more useful for all other commands. Change-Id: I8d8ff6ed714d3cb401946c52955887ed7dca602b Signed-off-by: Chris Kay <chris.kay@arm.com>
35 lines
1.7 KiB
Makefile
35 lines
1.7 KiB
Makefile
# Copyright (C) 2018 Marvell International Ltd.
|
|
#
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
# https://spdx.org/licenses
|
|
|
|
MV_DDR_LIB = $(BUILD_PLAT)/ble/mv_ddr_lib.a
|
|
LIBC_LIB = $(BUILD_PLAT)/lib/libc.a
|
|
BLE_LIBS = $(MV_DDR_LIB) $(LIBC_LIB)
|
|
PLAT_MARVELL = plat/marvell/armada
|
|
|
|
BLE_SOURCES += $(BLE_PATH)/ble_main.c \
|
|
$(BLE_PATH)/ble_mem.S \
|
|
drivers/delay_timer/delay_timer.c \
|
|
drivers/marvell/iob.c \
|
|
$(PLAT_MARVELL)/common/aarch64/marvell_helpers.S \
|
|
$(PLAT_MARVELL)/common/plat_delay_timer.c \
|
|
$(PLAT_MARVELL)/common/marvell_console.c
|
|
|
|
MV_DDR_INCLUDES := -I$(CURDIR)/include \
|
|
-I$(CURDIR)/include/arch/aarch64 \
|
|
-I$(CURDIR)/include/lib/libc \
|
|
-I$(CURDIR)/include/lib/libc/aarch64
|
|
|
|
BLE_DEFAULT_LINKER_SCRIPT_SOURCE := $(BLE_PATH)/ble.ld.S
|
|
|
|
BLE_OBJS := $(addprefix $(BUILD_PLAT)/ble/,$(call SOURCES_TO_OBJS,$(BLE_SOURCES)))
|
|
$(BLE_OBJS): PLAT_INCLUDES += -I$(MV_DDR_PATH)
|
|
$(BLE_OBJS): $(MV_DDR_LIB)
|
|
|
|
$(MV_DDR_LIB): FORCE
|
|
# Do not remove! Following checks are required to ensure correct TF-A builds, removing these checks leads to broken TF-A builds
|
|
$(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"))
|
|
$(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"))
|
|
$(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"))
|
|
$(q)+make -C $(MV_DDR_PATH) --no-print-directory PLAT_INCLUDES="$(MV_DDR_INCLUDES)" PLATFORM=$(PLAT) ARCH=AARCH64 OBJ_DIR=$(BUILD_PLAT)/ble
|