Update Makefiles to get proper dependency checking working.

This change requires all platforms to now specify a list of source files
rather than object files.

New source files should preferably be specified by using the path as
well and we should add this in the future for all files so we can remove
use of vpath. This is desirable because vpath hides issues like the fact
that BL2 currently pulls in a BL1 file bl1/aarch64/early_exceptions.S
and if in the future we added bl2/aarch64/early_exceptions.S then it's
likely only one of the two version would be used for both bootloaders.

This change also removes the 'dump' build target and simply gets
bootloaders to always generate a dump file. At the same time the -x
option is added so the section headers and symbols table are listed.

Fixes ARM-software/tf-issues#11

Change-Id: Ie38f7be76fed95756c8576cf3f3ea3b7015a18dc
Signed-off-by: Jon Medhurst <tixy@linaro.org>
This commit is contained in:
Jon Medhurst 2014-02-12 15:54:48 +00:00 committed by Dan Handley
parent cf6eeb8a60
commit 6d55d109a3
8 changed files with 221 additions and 238 deletions

307
Makefile
View File

@ -59,14 +59,14 @@ else
BUILD_TYPE := release BUILD_TYPE := release
endif endif
BL_COMMON_OBJS := misc_helpers.o \ BL_COMMON_SOURCES := misc_helpers.S \
cache_helpers.o \ cache_helpers.S \
tlb_helpers.o \ tlb_helpers.S \
xlat_helpers.o \ xlat_helpers.c \
std.o \ std.c \
bl_common.o \ bl_common.c \
platform_helpers.o \ platform_helpers.S \
io_storage.o io_storage.c
ARCH ?= aarch64 ARCH ?= aarch64
@ -77,10 +77,6 @@ SPD ?= none
BUILD_BASE := ./build BUILD_BASE := ./build
BUILD_PLAT := ${BUILD_BASE}/${PLAT}/${BUILD_TYPE} BUILD_PLAT := ${BUILD_BASE}/${PLAT}/${BUILD_TYPE}
BUILD_BL1 := ${BUILD_PLAT}/bl1
BUILD_BL2 := ${BUILD_PLAT}/bl2
BUILD_BL31 := ${BUILD_PLAT}/bl31
BUILD_DIRS := ${BUILD_BL1} ${BUILD_BL2} ${BUILD_BL31}
PLATFORMS := $(shell ls -I common plat/) PLATFORMS := $(shell ls -I common plat/)
SPDS := $(shell ls -I none services/spd) SPDS := $(shell ls -I none services/spd)
@ -96,7 +92,7 @@ endif
ifeq (${PLAT},all) ifeq (${PLAT},all)
all: ${PLATFORMS} all: ${PLATFORMS}
else else
all: msg_start bl1 bl2 bl31 fip all: msg_start fip
endif endif
msg_start: msg_start:
@ -132,20 +128,10 @@ ifneq (${SPD},none)
# variable to "yes" # variable to "yes"
endif endif
.PHONY: all msg_start ${PLATFORMS} dump clean realclean distclean bl1 bl2 bl31 cscope locate-checkpatch checkcodebase checkpatch fiptool fip locate-bl33 .PHONY: all msg_start ${PLATFORMS} clean realclean distclean cscope locate-checkpatch checkcodebase checkpatch fiptool fip locate-bl33
.SUFFIXES: .SUFFIXES:
BL1_OBJS := $(addprefix ${BUILD_BL1}/,${BL1_OBJS} ${BL_COMMON_OBJS} ${PLAT_BL_COMMON_OBJS})
BL2_OBJS := $(addprefix ${BUILD_BL2}/,${BL2_OBJS} ${BL_COMMON_OBJS} ${PLAT_BL_COMMON_OBJS})
BL31_OBJS := $(addprefix ${BUILD_BL31}/,${BL31_OBJS} ${BL_COMMON_OBJS} ${PLAT_BL_COMMON_OBJS} ${SPD_OBJS})
BL1_MAPFILE := $(addprefix ${BUILD_BL1}/,${BL1_MAPFILE})
BL2_MAPFILE := $(addprefix ${BUILD_BL2}/,${BL2_MAPFILE})
BL31_MAPFILE := $(addprefix ${BUILD_BL31}/,${BL31_MAPFILE})
BL1_LINKERFILE := $(addprefix ${BUILD_BL1}/,${BL1_LINKERFILE})
BL2_LINKERFILE := $(addprefix ${BUILD_BL2}/,${BL2_LINKERFILE})
BL31_LINKERFILE := $(addprefix ${BUILD_BL31}/,${BL31_LINKERFILE})
INCLUDES += -Ilib/include/ \ INCLUDES += -Ilib/include/ \
-Idrivers/io \ -Idrivers/io \
-Iinclude/${ARCH}/ \ -Iinclude/${ARCH}/ \
@ -166,9 +152,6 @@ CFLAGS := -nostdinc -pedantic -ffreestanding -Wall \
-DDEBUG=${DEBUG} ${INCLUDES} ${CFLAGS} -DDEBUG=${DEBUG} ${INCLUDES} ${CFLAGS}
LDFLAGS += --fatal-warnings -O1 LDFLAGS += --fatal-warnings -O1
BL1_LDFLAGS := -Map=${BL1_MAPFILE} --script ${BL1_LINKERFILE} --entry=${BL1_ENTRY_POINT}
BL2_LDFLAGS := -Map=${BL2_MAPFILE} --script ${BL2_LINKERFILE} --entry=${BL2_ENTRY_POINT}
BL31_LDFLAGS := -Map=${BL31_MAPFILE} --script ${BL31_LINKERFILE} --entry=${BL31_ENTRY_POINT}
vpath %.ld.S bl1:bl2:bl31 vpath %.ld.S bl1:bl2:bl31
@ -197,16 +180,6 @@ OD := ${CROSS_COMPILE}objdump
NM := ${CROSS_COMPILE}nm NM := ${CROSS_COMPILE}nm
PP := ${CROSS_COMPILE}gcc -E ${CFLAGS} PP := ${CROSS_COMPILE}gcc -E ${CFLAGS}
bl1: ${BUILD_BL1} ${BUILD_PLAT}/bl1.bin
FIP_DEPS += ${BUILD_PLAT}/bl1.bin
bl2: ${BUILD_BL2} ${BUILD_PLAT}/bl2.bin
FIP_DEPS += ${BUILD_PLAT}/bl2.bin
bl31: ${BUILD_BL31} ${BUILD_PLAT}/bl31.bin
FIP_DEPS += ${BUILD_PLAT}/bl31.bin
BASE_COMMIT ?= origin/master BASE_COMMIT ?= origin/master
# Variables for use with Firmware Image Package # Variables for use with Firmware Image Package
@ -241,53 +214,6 @@ FIP_DEPS += ${BL33}
endif endif
# If BL32 needs to be built, provide necessary build rules and targets
ifeq (${NEED_BL32},yes)
BUILD_BL32 := ${BUILD_PLAT}/bl32
BUILD_DIRS += ${BUILD_BL32}
BL32_OBJS := $(addprefix ${BUILD_BL32}/,${BL32_OBJS})
BL32_MAPFILE := $(addprefix ${BUILD_BL32}/,${BL32_MAPFILE})
BL32_LINKERFILE := $(addprefix ${BUILD_BL32}/,${BL32_LINKERFILE})
BL32_LDFLAGS := -Map=${BL32_MAPFILE} --script ${BL32_LINKERFILE} --entry=${BL32_ENTRY_POINT}
bl32: ${BUILD_BL32} ${BUILD_PLAT}/bl32.bin
all: bl32
dump: bl32_dump
.PHONY: bl32
# Add BL32 image to FIP's input image list
FIP_DEPS := bl32
FIP_ARGS := --bl32 ${BUILD_PLAT}/bl32.bin
${BUILD_BL32}/%.o: %.S
@echo " AS $<"
${Q}${AS} ${ASFLAGS} -c $< -o $@
${BUILD_BL32}/%.o: %.c
@echo " CC $<"
${Q}${CC} ${CFLAGS} -c $< -o $@
${BUILD_BL32}/%.ld: %.ld.S
@echo " PP $<"
${Q}${AS} ${ASFLAGS} -P -E $< -o $@
${BUILD_BL32}/bl32.elf: ${BL32_OBJS} ${BL32_LINKERFILE}
@echo " LD $@"
${Q}${LD} -o $@ ${LDFLAGS} ${BL32_LDFLAGS} ${BL32_OBJS}
${BUILD_PLAT}/bl32.bin: ${BUILD_BL32}/bl32.elf
@echo " BIN $@"
${Q}${OC} -O binary $< $@
@echo
@echo "Built $@ successfully"
@echo
bl32_dump:
${Q}${OD} -d ${BUILD_BL32}/bl32.elf > ${BUILD_BL32}/bl32.dump
endif
clean: clean:
@echo " CLEAN" @echo " CLEAN"
${Q}rm -rf ${BUILD_PLAT} ${Q}rm -rf ${BUILD_PLAT}
@ -299,12 +225,6 @@ realclean distclean:
${Q}rm -f ${CURDIR}/cscope.* ${Q}rm -f ${CURDIR}/cscope.*
${Q}${MAKE} --no-print-directory -C ${FIPTOOLPATH} clean ${Q}${MAKE} --no-print-directory -C ${FIPTOOLPATH} clean
dump:
@echo " OBJDUMP"
${Q}${OD} -d ${BUILD_BL1}/bl1.elf > ${BUILD_BL1}/bl1.dump
${Q}${OD} -d ${BUILD_BL2}/bl2.elf > ${BUILD_BL2}/bl2.dump
${Q}${OD} -d ${BUILD_BL31}/bl31.elf > ${BUILD_BL31}/bl31.dump
checkcodebase: locate-checkpatch checkcodebase: locate-checkpatch
@echo " CHECKING STYLE" @echo " CHECKING STYLE"
@if test -d .git ; then \ @if test -d .git ; then \
@ -323,86 +243,156 @@ ${FIPTOOL}:
@echo "Built $@ successfully" @echo "Built $@ successfully"
@echo @echo
${BUILD_DIRS}: define match_goals
${Q}mkdir -p "$@" $(strip $(foreach goal,$(1),$(filter $(goal),$(MAKECMDGOALS))))
endef
${BUILD_BL1}/%.o: %.S CLEANING := $(call match_goals,clean realclean distclean)
@echo " AS $<"
${Q}${AS} ${ASFLAGS} -c $< -o $@
${BUILD_BL2}/%.o: %.S
@echo " AS $<"
${Q}${AS} ${ASFLAGS} -c $< -o $@
${BUILD_BL31}/%.o: %.S
@echo " AS $<"
${Q}${AS} ${ASFLAGS} -c $< -o $@
${BUILD_BL1}/%.o: %.c
@echo " CC $<"
${Q}${CC} ${CFLAGS} -c $< -o $@
${BUILD_BL2}/%.o: %.c
@echo " CC $<"
${Q}${CC} ${CFLAGS} -c $< -o $@
${BUILD_BL31}/%.o: %.c
@echo " CC $<"
${Q}${CC} ${CFLAGS} -c $< -o $@
${BUILD_BL1}/%.ld: %.ld.S
@echo " PP $<"
${Q}${AS} ${ASFLAGS} -P -E $< -o $@
${BUILD_BL2}/%.ld: %.ld.S
@echo " PP $<"
${Q}${AS} ${ASFLAGS} -P -E $< -o $@
${BUILD_BL31}/%.ld: %.ld.S
@echo " PP $<"
${Q}${AS} ${ASFLAGS} -P -E $< -o $@
${BUILD_BL1}/bl1.elf: ${BL1_OBJS} ${BL1_LINKERFILE} define MAKE_C
@echo " LD $@"
${Q}${LD} -o $@ ${LDFLAGS} ${BL1_LDFLAGS} ${BL1_OBJS}
${BUILD_BL2}/bl2.elf: ${BL2_OBJS} ${BL2_LINKERFILE} $(eval OBJ := $(1)/$(patsubst %.c,%.o,$(notdir $(2))))
@echo " LD $@" $(eval PREREQUISITES := $(patsubst %.o,%.d,$(OBJ)))
${Q}${LD} -o $@ ${LDFLAGS} ${BL2_LDFLAGS} ${BL2_OBJS}
${BUILD_BL31}/bl31.elf: ${BL31_OBJS} ${BL31_LINKERFILE} $(OBJ) : $(2)
@echo " LD $@" @echo " CC $$<"
${Q}${LD} -o $@ ${LDFLAGS} ${BL31_LDFLAGS} ${BL31_OBJS} $$(Q)$$(CC) $$(CFLAGS) -c $$< -o $$@
${BUILD_PLAT}/bl1.bin: ${BUILD_BL1}/bl1.elf
@echo " BIN $@"
${Q}${OC} -O binary $< $@
@echo
@echo "Built $@ successfully"
@echo
${BUILD_PLAT}/bl2.bin: ${BUILD_BL2}/bl2.elf $(PREREQUISITES) : $(2)
@echo " BIN $@" @echo " DEPS $$@"
${Q}${OC} -O binary $< $@ @mkdir -p $(1)
@echo $$(Q)$$(CC) $$(CFLAGS) -M -MT $(OBJ) -MF $$@ $$<
@echo "Built $@ successfully"
@echo
${BUILD_PLAT}/bl31.bin: ${BUILD_BL31}/bl31.elf ifeq "$(CLEANING)" ""
@echo " BIN $@" -include $(PREREQUISITES)
${Q}${OC} -O binary $< $@ endif
@echo
@echo "Built $@ successfully" endef
@echo
define MAKE_S
$(eval OBJ := $(1)/$(patsubst %.S,%.o,$(notdir $(2))))
$(eval PREREQUISITES := $(patsubst %.o,%.d,$(OBJ)))
$(OBJ) : $(2)
@echo " AS $$<"
$$(Q)$$(AS) $$(ASFLAGS) -c $$< -o $$@
$(PREREQUISITES) : $(2)
@echo " DEPS $$@"
@mkdir -p $(1)
$$(Q)$$(AS) $$(ASFLAGS) -M -MT $(OBJ) -MF $$@ $$<
ifeq "$(CLEANING)" ""
-include $(PREREQUISITES)
endif
endef
define MAKE_LD
$(eval PREREQUISITES := $(1).d)
$(1) : $(2)
@echo " PP $$<"
$$(Q)$$(AS) $$(ASFLAGS) -P -E -o $$@ $$<
$(PREREQUISITES) : $(2)
@echo " DEPS $$@"
@mkdir -p $$(dir $$@)
$$(Q)$$(AS) $$(ASFLAGS) -M -MT $(1) -MF $$@ $$<
ifeq "$(CLEANING)" ""
-include $(PREREQUISITES)
endif
endef
define MAKE_OBJS
$(eval C_OBJS := $(filter %.c,$(2)))
$(eval REMAIN := $(filter-out %.c,$(2)))
$(eval $(foreach obj,$(C_OBJS),$(call MAKE_C,$(1),$(obj))))
$(eval S_OBJS := $(filter %.S,$(REMAIN)))
$(eval REMAIN := $(filter-out %.S,$(REMAIN)))
$(eval $(foreach obj,$(S_OBJS),$(call MAKE_S,$(1),$(obj))))
$(and $(REMAIN),$(error Unexpected source files present: $(REMAIN)))
endef
# NOTE: The line continuation '\' is required in the next define otherwise we
# end up with a line-feed characer at the end of the last c filename.
# Also bare this issue in mind if extending the list of supported filetypes.
define SOURCES_TO_OBJS
$(notdir $(patsubst %.c,%.o,$(filter %.c,$(1)))) \
$(notdir $(patsubst %.S,%.o,$(filter %.S,$(1))))
endef
define MAKE_BL
$(eval BUILD_DIR := ${BUILD_PLAT}/bl$(1))
$(eval SOURCES := $(BL$(1)_SOURCES) $(BL_COMMON_SOURCES) $(PLAT_BL_COMMON_SOURCES))
$(eval OBJS := $(addprefix $(BUILD_DIR)/,$(call SOURCES_TO_OBJS,$(SOURCES))))
$(eval LINKERFILE := $(BUILD_DIR)/bl$(1).ld)
$(eval MAPFILE := $(BUILD_DIR)/bl$(1).map)
$(eval ELF := $(BUILD_DIR)/bl$(1).elf)
$(eval DUMP := $(BUILD_DIR)/bl$(1).dump)
$(eval BIN := $(BUILD_PLAT)/bl$(1).bin)
$(eval $(call MAKE_OBJS,$(BUILD_DIR),$(SOURCES)))
$(eval $(call MAKE_LD,$(LINKERFILE),$(BL$(1)_LINKERFILE)))
$(BUILD_DIR) :
$$(Q)mkdir -p "$$@"
$(ELF) : $(OBJS) $(LINKERFILE)
@echo " LD $$@"
$$(Q)$$(LD) -o $$@ $$(LDFLAGS) -Map=$(MAPFILE) --script $(LINKERFILE) \
--entry=$(BL$(1)_ENTRY_POINT) $(OBJS)
$(DUMP) : $(ELF)
@echo " OD $$@"
$${Q}$${OD} -dx $$< > $$@
$(BIN) : $(ELF)
@echo " BIN $$@"
$$(Q)$$(OC) -O binary $$< $$@
@echo
@echo "Built $$@ successfully"
@echo
.PHONY : bl$(1)
bl$(1) : $(BUILD_DIR) $(BIN) $(DUMP)
all : bl$(1)
$(eval FIP_DEPS += $(if $2,$(BIN),))
$(eval FIP_ARGS += $(if $2,--bl$(1) $(BIN),))
endef
$(eval $(call MAKE_BL,1))
$(eval $(call MAKE_BL,2,in_fip))
BL31_SOURCES += ${SPD_SOURCES}
$(eval $(call MAKE_BL,31,in_fip))
ifeq (${NEED_BL32},yes)
$(eval $(call MAKE_BL,32,in_fip))
endif
${BUILD_PLAT}/fip.bin: locate-bl33 ${FIP_DEPS} ${FIPTOOL} ${BUILD_PLAT}/fip.bin: locate-bl33 ${FIP_DEPS} ${FIPTOOL}
${Q}${FIPTOOL} --dump \ ${Q}${FIPTOOL} --dump \
--bl2 ${BUILD_PLAT}/bl2.bin \
--bl31 ${BUILD_PLAT}/bl31.bin \
--bl33 ${BL33} \
${FIP_ARGS} \ ${FIP_ARGS} \
--bl33 ${BL33} \
$@ $@
@echo @echo
@echo "Built $@ successfully" @echo "Built $@ successfully"
@ -415,7 +405,7 @@ cscope:
${Q}cscope -b -q -k ${Q}cscope -b -q -k
help: help:
@echo "usage: ${MAKE} PLAT=<all|${HELP_PLATFORMS}> <all|bl1|bl2|bl31|distclean|clean|checkcodebase|checkpatch|dump>" @echo "usage: ${MAKE} PLAT=<all|${HELP_PLATFORMS}> <all|bl1|bl2|bl31|distclean|clean|checkcodebase|checkpatch>"
@echo "" @echo ""
@echo "PLAT is used to specify which platform you wish to build." @echo "PLAT is used to specify which platform you wish to build."
@echo "" @echo ""
@ -430,7 +420,6 @@ help:
@echo " clean Clean the build for the selected platform" @echo " clean Clean the build for the selected platform"
@echo " cscope Generate cscope index" @echo " cscope Generate cscope index"
@echo " distclean Remove all build artifacts for all platforms" @echo " distclean Remove all build artifacts for all platforms"
@echo " dump Generate object file dumps"
@echo " fiptool Build the Firmware Image Package(FIP) creation tool" @echo " fiptool Build the Firmware Image Package(FIP) creation tool"
@echo "" @echo ""
@echo "note: most build targets require PLAT to be set to a specific platform." @echo "note: most build targets require PLAT to be set to a specific platform."

View File

@ -43,12 +43,11 @@ vpath %.S arch/${ARCH}/cpu \
lib/arch/${ARCH} \ lib/arch/${ARCH} \
${PLAT_BL1_S_VPATH} ${PLAT_BL1_S_VPATH}
BL1_OBJS += bl1_arch_setup.o \ BL1_SOURCES += bl1_arch_setup.c \
bl1_entrypoint.o \ bl1_entrypoint.S \
early_exceptions.o \ early_exceptions.S \
bl1_main.o \ bl1_main.c \
cpu_helpers.o cpu_helpers.S
BL1_ENTRY_POINT := reset_handler BL1_ENTRY_POINT := reset_handler
BL1_MAPFILE := bl1.map BL1_LINKERFILE := bl1.ld.S
BL1_LINKERFILE := bl1.ld

View File

@ -40,14 +40,13 @@ vpath %.S lib/arch/${ARCH} \
lib/sync/locks/exclusive \ lib/sync/locks/exclusive \
${PLAT_BL2_S_VPATH} ${PLAT_BL2_S_VPATH}
BL2_OBJS += bl2_entrypoint.o \ BL2_SOURCES += bl2_entrypoint.S \
bl2_arch_setup.o \ bl2_arch_setup.c \
bl2_main.o \ bl2_main.c \
spinlock.o \ spinlock.S \
early_exceptions.o early_exceptions.S
BL2_ENTRY_POINT := bl2_entrypoint BL2_ENTRY_POINT := bl2_entrypoint
BL2_MAPFILE := bl2.map BL2_LINKERFILE := bl2.ld.S
BL2_LINKERFILE := bl2.ld
CFLAGS += $(DEFINES) CFLAGS += $(DEFINES)

View File

@ -47,25 +47,24 @@ vpath %.S lib/arch/${ARCH} \
arch/system/gic/${ARCH} \ arch/system/gic/${ARCH} \
${PLAT_BL31_S_VPATH} ${PLAT_BL31_S_VPATH}
BL31_OBJS += bl31_arch_setup.o \ BL31_SOURCES += bl31_arch_setup.c \
bl31_entrypoint.o \ bl31_entrypoint.S \
runtime_exceptions.o \ runtime_exceptions.S \
bl31_main.o \ bl31_main.c \
psci_entry.o \ psci_entry.S \
psci_setup.o \ psci_setup.c \
psci_common.o \ psci_common.c \
psci_afflvl_on.o \ psci_afflvl_on.c \
psci_main.o \ psci_main.c \
psci_afflvl_off.o \ psci_afflvl_off.c \
psci_afflvl_suspend.o \ psci_afflvl_suspend.c \
spinlock.o \ spinlock.S \
gic_v3_sysregs.o \ gic_v3_sysregs.S \
bakery_lock.o \ bakery_lock.c \
runtime_svc.o \ runtime_svc.c \
early_exceptions.o \ early_exceptions.S \
context_mgmt.o \ context_mgmt.c \
context.o context.S
BL31_ENTRY_POINT := bl31_entrypoint BL31_ENTRY_POINT := bl31_entrypoint
BL31_MAPFILE := bl31.map BL31_LINKERFILE := bl31.ld.S
BL31_LINKERFILE := bl31.ld

View File

@ -33,7 +33,6 @@ vpath %.c ${PLAT_BL2_C_VPATH}
vpath %.S ${PLAT_BL2_S_VPATH} vpath %.S ${PLAT_BL2_S_VPATH}
# TSP source files specific to FVP platform # TSP source files specific to FVP platform
BL32_OBJS += bl32_plat_setup.o \ BL32_SOURCES += bl32_plat_setup.c \
bl32_setup_xlat.o \ bl32_setup_xlat.c \
plat_common.o \ plat_common.c
${PLAT_BL_COMMON_OBJS}

View File

@ -38,16 +38,14 @@ vpath %.S lib/arch/${ARCH} \
include \ include \
lib/sync/locks/exclusive lib/sync/locks/exclusive
BL32_OBJS += tsp_entrypoint.o \ BL32_SOURCES += tsp_entrypoint.S \
tsp_main.o \ tsp_main.c \
tsp_request.o \ tsp_request.S \
spinlock.o \ spinlock.S \
early_exceptions.o \ early_exceptions.S
${BL_COMMON_OBJS}
BL32_ENTRY_POINT := tsp_entrypoint BL32_ENTRY_POINT := tsp_entrypoint
BL32_MAPFILE := tsp.map BL32_LINKERFILE := tsp.ld.S
BL32_LINKERFILE := tsp.ld
vpath %.ld.S ${BL32_ROOT} vpath %.ld.S ${BL32_ROOT}
vpath %.c ${BL32_ROOT} vpath %.c ${BL32_ROOT}

View File

@ -57,35 +57,35 @@ PLAT_BL31_C_VPATH := drivers/arm/interconnect/cci-400 \
PLAT_BL31_S_VPATH := lib/semihosting/${ARCH} PLAT_BL31_S_VPATH := lib/semihosting/${ARCH}
PLAT_BL_COMMON_OBJS := semihosting_call.o \ PLAT_BL_COMMON_SOURCES := semihosting_call.S \
mmio.o \ mmio.c \
pl011.o \ pl011.c \
semihosting.o \ semihosting.c \
sysreg_helpers.o \ sysreg_helpers.S \
plat_io_storage.o \ plat_io_storage.c \
io_semihosting.o \ io_semihosting.c \
io_fip.o \ io_fip.c \
io_memmap.o io_memmap.c
BL1_OBJS += bl1_plat_setup.o \ BL1_SOURCES += bl1_plat_setup.c \
bl1_plat_helpers.o \ bl1_plat_helpers.S \
plat_helpers.o \ plat_helpers.S \
plat_common.o \ plat_common.c \
plat_setup_xlat.o \ plat_setup_xlat.c \
cci400.o cci400.c
BL2_OBJS += bl2_plat_setup.o \ BL2_SOURCES += bl2_plat_setup.c \
plat_setup_xlat.o \ plat_setup_xlat.c \
plat_common.o plat_common.c
BL31_OBJS += bl31_plat_setup.o \ BL31_SOURCES += bl31_plat_setup.c \
plat_helpers.o \ plat_helpers.S \
plat_setup_xlat.o \ plat_setup_xlat.c \
plat_common.o \ plat_common.c \
plat_pm.o \ plat_pm.c \
plat_topology.o \ plat_topology.c \
plat_gic.o \ plat_gic.c \
fvp_pwrc.o \ fvp_pwrc.c \
cci400.o \ cci400.c \
gic_v2.o \ gic_v2.c \
gic_v3.o gic_v3.c

View File

@ -32,10 +32,10 @@ TSPD_DIR := services/spd/tspd
SPD_INCLUDES := -Iinclude/spd/tspd \ SPD_INCLUDES := -Iinclude/spd/tspd \
-I${TSPD_DIR} -I${TSPD_DIR}
SPD_OBJS := tspd_common.o \ SPD_SOURCES := tspd_common.c \
tspd_main.o \ tspd_main.c \
tspd_pm.o \ tspd_pm.c \
tspd_helpers.o tspd_helpers.S
vpath %.c ${TSPD_DIR} vpath %.c ${TSPD_DIR}
vpath %.S ${TSPD_DIR} vpath %.S ${TSPD_DIR}