mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-15 17:14:21 +00:00
Use abspath to dereference $BUILD_BASE
If the user tries to change BUILD_BASE to put the build products outside the build tree the compile will fail due to hard coded assumptions that $BUILD_BASE is a relative path. Fix by using $(abspath $(BUILD_BASE)) to rationalize to an absolute path every time and remove the relative path assumptions. This patch also adds documentation that BUILD_BASE can be specified by the user. Signed-off-by: Grant Likely <grant.likely@arm.com> Signed-off-by: Manish Pandey <manish.pandey2@arm.com> Change-Id: Ib1af874de658484aaffc672f30029b852d2489c8
This commit is contained in:
parent
cf44cb2c65
commit
29214e95c4
7 changed files with 18 additions and 14 deletions
6
Makefile
6
Makefile
|
@ -451,8 +451,10 @@ include common/backtrace/backtrace.mk
|
||||||
|
|
||||||
include ${MAKE_HELPERS_DIRECTORY}plat_helpers.mk
|
include ${MAKE_HELPERS_DIRECTORY}plat_helpers.mk
|
||||||
|
|
||||||
BUILD_BASE := ./build
|
ifeq (${BUILD_BASE},)
|
||||||
BUILD_PLAT := ${BUILD_BASE}/${PLAT}/${BUILD_TYPE}
|
BUILD_BASE := ./build
|
||||||
|
endif
|
||||||
|
BUILD_PLAT := $(abspath ${BUILD_BASE})/${PLAT}/${BUILD_TYPE}
|
||||||
|
|
||||||
SPDS := $(sort $(filter-out none, $(patsubst services/spd/%,%,$(wildcard services/spd/*))))
|
SPDS := $(sort $(filter-out none, $(patsubst services/spd/%,%,$(wildcard services/spd/*))))
|
||||||
|
|
||||||
|
|
|
@ -119,6 +119,8 @@ Common build options
|
||||||
- ``BUILD_STRING``: Input string for VERSION_STRING, which allows the TF-A
|
- ``BUILD_STRING``: Input string for VERSION_STRING, which allows the TF-A
|
||||||
build to be uniquely identified. Defaults to the current git commit id.
|
build to be uniquely identified. Defaults to the current git commit id.
|
||||||
|
|
||||||
|
- ``BUILD_BASE``: Output directory for the build. Defaults to ``./build``
|
||||||
|
|
||||||
- ``CFLAGS``: Extra user options appended on the compiler's command line in
|
- ``CFLAGS``: Extra user options appended on the compiler's command line in
|
||||||
addition to the options set by the build system.
|
addition to the options set by the build system.
|
||||||
|
|
||||||
|
|
|
@ -10,14 +10,14 @@ LD = $(CROSS_COMPILE)ld
|
||||||
OC = $(CROSS_COMPILE)objcopy
|
OC = $(CROSS_COMPILE)objcopy
|
||||||
CPP = $(CROSS_COMPILE)cpp
|
CPP = $(CROSS_COMPILE)cpp
|
||||||
ROMLIB_GEN = ./romlib_generator.py
|
ROMLIB_GEN = ./romlib_generator.py
|
||||||
BUILD_DIR = ../../$(BUILD_PLAT)/romlib
|
BUILD_DIR = $(BUILD_PLAT)/romlib
|
||||||
LIB_DIR = ../../$(BUILD_PLAT)/lib
|
LIB_DIR = $(BUILD_PLAT)/lib
|
||||||
WRAPPER_DIR = ../../$(BUILD_PLAT)/libwrapper
|
WRAPPER_DIR = $(BUILD_PLAT)/libwrapper
|
||||||
LIBS = -lmbedtls -lfdt -lc
|
LIBS = -lmbedtls -lfdt -lc
|
||||||
INC = $(INCLUDES:-I%=-I../../%)
|
INC = $(INCLUDES:-I%=-I../../%)
|
||||||
PPFLAGS = $(INC) $(DEFINES) -P -x assembler-with-cpp -D__LINKER__ -MD -MP -MT $(BUILD_DIR)/romlib.ld
|
PPFLAGS = $(INC) $(DEFINES) -P -x assembler-with-cpp -D__LINKER__ -MD -MP -MT $(BUILD_DIR)/romlib.ld
|
||||||
OBJS = $(BUILD_DIR)/jmptbl.o $(BUILD_DIR)/init.o
|
OBJS = $(BUILD_DIR)/jmptbl.o $(BUILD_DIR)/init.o
|
||||||
MAPFILE = ../../$(BUILD_PLAT)/romlib/romlib.map
|
MAPFILE = $(BUILD_PLAT)/romlib/romlib.map
|
||||||
|
|
||||||
ifneq ($(PLAT_DIR),)
|
ifneq ($(PLAT_DIR),)
|
||||||
WRAPPER_SOURCES = $(shell $(ROMLIB_GEN) genwrappers -b $(WRAPPER_DIR) --list ../../$(PLAT_DIR)/jmptbl.i)
|
WRAPPER_SOURCES = $(shell $(ROMLIB_GEN) genwrappers -b $(WRAPPER_DIR) --list ../../$(PLAT_DIR)/jmptbl.i)
|
||||||
|
|
|
@ -5,9 +5,9 @@
|
||||||
|
|
||||||
MV_DDR_PATH ?= drivers/marvell/mv_ddr
|
MV_DDR_PATH ?= drivers/marvell/mv_ddr
|
||||||
|
|
||||||
MV_DDR_LIB = $(CURDIR)/$(BUILD_PLAT)/ble/mv_ddr_lib.a
|
MV_DDR_LIB = $(BUILD_PLAT)/ble/mv_ddr_lib.a
|
||||||
LIBC_LIB = $(CURDIR)/$(BUILD_PLAT)/lib/libc.a
|
LIBC_LIB = $(BUILD_PLAT)/lib/libc.a
|
||||||
BLE_LIBS = $(MV_DDR_LIB) $(LIBC_LIB)
|
BLE_LIBS = $(MV_DDR_LIB) $(LIBC_LIB)
|
||||||
PLAT_MARVELL = plat/marvell/armada
|
PLAT_MARVELL = plat/marvell/armada
|
||||||
|
|
||||||
BLE_SOURCES += $(BLE_PATH)/ble_main.c \
|
BLE_SOURCES += $(BLE_PATH)/ble_main.c \
|
||||||
|
@ -29,4 +29,4 @@ BLE_LINKERFILE := $(BLE_PATH)/ble.ld.S
|
||||||
FORCE:
|
FORCE:
|
||||||
|
|
||||||
$(MV_DDR_LIB): FORCE
|
$(MV_DDR_LIB): FORCE
|
||||||
@+make -C $(MV_DDR_PATH) --no-print-directory PLAT_INCLUDES="$(PLAT_INCLUDES)" PLATFORM=$(PLAT) ARCH=AARCH64 OBJ_DIR=$(CURDIR)/$(BUILD_PLAT)/ble
|
@+make -C $(MV_DDR_PATH) --no-print-directory PLAT_INCLUDES="$(PLAT_INCLUDES)" PLATFORM=$(PLAT) ARCH=AARCH64 OBJ_DIR=$(BUILD_PLAT)/ble
|
||||||
|
|
|
@ -62,7 +62,7 @@ $(eval $(call add_define,ENABLE_TEGRA_WDT_LEGACY_FIQ_HANDLING))
|
||||||
$(eval $(call add_define,RELOCATE_BL32_IMAGE))
|
$(eval $(call add_define,RELOCATE_BL32_IMAGE))
|
||||||
|
|
||||||
# modify BUILD_PLAT to point to SoC specific build directory
|
# modify BUILD_PLAT to point to SoC specific build directory
|
||||||
BUILD_PLAT := ${BUILD_BASE}/${PLAT}/${TARGET_SOC}/${BUILD_TYPE}
|
BUILD_PLAT := $(abspath ${BUILD_BASE})/${PLAT}/${TARGET_SOC}/${BUILD_TYPE}
|
||||||
|
|
||||||
# platform cflags (enable signed comparisons, disable stdlib)
|
# platform cflags (enable signed comparisons, disable stdlib)
|
||||||
TF_CFLAGS += -Wsign-compare -nostdlib
|
TF_CFLAGS += -Wsign-compare -nostdlib
|
||||||
|
|
|
@ -11,4 +11,4 @@ include ${PLAT_PATH}/common/plat_common.mk
|
||||||
include ${PLAT_PATH}/board/${TARGET_BOARD}/board.mk
|
include ${PLAT_PATH}/board/${TARGET_BOARD}/board.mk
|
||||||
|
|
||||||
# modify BUILD_PLAT to point to board specific build directory
|
# modify BUILD_PLAT to point to board specific build directory
|
||||||
BUILD_PLAT := ${BUILD_BASE}/${PLAT}/${TARGET_BOARD}/${BUILD_TYPE}
|
BUILD_PLAT := $(abspath ${BUILD_BASE})/${PLAT}/${TARGET_BOARD}/${BUILD_TYPE}
|
||||||
|
|
|
@ -55,8 +55,8 @@ with open(sys.argv[2],'r') as in_file:
|
||||||
data = json.load(in_file)
|
data = json.load(in_file)
|
||||||
json_file = os.path.abspath(sys.argv[2])
|
json_file = os.path.abspath(sys.argv[2])
|
||||||
json_dir = os.path.dirname(json_file)
|
json_dir = os.path.dirname(json_file)
|
||||||
gen_file = sys.argv[1]
|
gen_file = os.path.abspath(sys.argv[1])
|
||||||
out_dir = sys.argv[3][2:]
|
out_dir = os.path.abspath(sys.argv[3])
|
||||||
dtb_dir = out_dir + "/fdts/"
|
dtb_dir = out_dir + "/fdts/"
|
||||||
print(dtb_dir)
|
print(dtb_dir)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue