stm32mp1: platform.mk: migrate to implicit rules
Board Support for the stm32mp1 platform is contained in the device tree, so if we remove hardcoding of board name from the Makefile, we can build the intermediary objects once and generate one new tf-a-*.stm32 binary for every device tree specified. All in one go. Prepare for this by employing implicit rules. Change-Id: I5a022a89eb12696cd8cee7bf28ac6be54849901f Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
This commit is contained in:
parent
1a0b5a57af
commit
a3db33fd52
|
@ -151,11 +151,7 @@ endif
|
|||
STM32_TF_ELF_LDFLAGS := --hash-style=gnu --as-needed
|
||||
STM32_DT_BASENAME := $(DTB_FILE_NAME:.dtb=)
|
||||
STM32_TF_STM32 := ${BUILD_PLAT}/tf-a-${STM32_DT_BASENAME}.stm32
|
||||
STM32_TF_BINARY := $(STM32_TF_STM32:.stm32=.bin)
|
||||
STM32_TF_LINKERFILE := ${BUILD_PLAT}/stm32mp1.ld
|
||||
STM32_TF_ELF := $(STM32_TF_STM32:.stm32=.elf)
|
||||
STM32_TF_DTBFILE := ${BUILD_PLAT}/fdts/${DTB_FILE_NAME}
|
||||
STM32_TF_OBJS := ${BUILD_PLAT}/stm32mp1.o
|
||||
|
||||
BL2_CFLAGS += -DPLAT_XLAT_TABLES_DYNAMIC=1
|
||||
|
||||
|
@ -191,32 +187,32 @@ check_dtc_version:
|
|||
fi
|
||||
|
||||
|
||||
${STM32_TF_OBJS}: plat/st/stm32mp1/stm32mp1.S bl2 ${BL32_DEP} ${STM32_TF_DTBFILE}
|
||||
@echo " AS $<"
|
||||
${BUILD_PLAT}/stm32mp1-%.o: ${BUILD_PLAT}/fdts/%.dtb plat/st/stm32mp1/stm32mp1.S bl2 ${BL32_DEP}
|
||||
@echo " AS stm32mp1.S"
|
||||
${Q}${AS} ${ASFLAGS} ${TF_CFLAGS} \
|
||||
${BL32_PATH} \
|
||||
-DBL2_BIN_PATH=\"${BUILD_PLAT}/bl2.bin\" \
|
||||
-DDTB_BIN_PATH=\"${STM32_TF_DTBFILE}\" \
|
||||
-DDTB_BIN_PATH=\"$<\" \
|
||||
-c plat/st/stm32mp1/stm32mp1.S -o $@
|
||||
|
||||
${STM32_TF_LINKERFILE}: plat/st/stm32mp1/stm32mp1.ld.S ${BUILD_PLAT}
|
||||
@echo " LDS $<"
|
||||
${Q}${AS} ${ASFLAGS} ${TF_CFLAGS} -P -E $< -o $@
|
||||
|
||||
${STM32_TF_ELF}: ${STM32_TF_OBJS} ${STM32_TF_LINKERFILE}
|
||||
tf-a-%.elf: stm32mp1-%.o ${STM32_TF_LINKERFILE}
|
||||
@echo " LDS $<"
|
||||
${Q}${LD} -o $@ ${STM32_TF_ELF_LDFLAGS} -Map=$(@:.elf=.map) --script ${STM32_TF_LINKERFILE} ${STM32_TF_OBJS}
|
||||
${Q}${LD} -o $@ ${STM32_TF_ELF_LDFLAGS} -Map=$(@:.elf=.map) --script ${STM32_TF_LINKERFILE} $<
|
||||
|
||||
${STM32_TF_BINARY}: ${STM32_TF_ELF}
|
||||
${Q}${OC} -O binary ${STM32_TF_ELF} $@
|
||||
tf-a-%.bin: tf-a-%.elf
|
||||
${Q}${OC} -O binary $< $@
|
||||
@echo
|
||||
@echo "Built $@ successfully"
|
||||
@echo
|
||||
|
||||
${STM32_TF_STM32}: stm32image ${STM32_TF_BINARY}
|
||||
tf-a-%.stm32: tf-a-%.bin stm32image
|
||||
@echo
|
||||
@echo "Generated $@"
|
||||
$(eval LOADADDR = $(shell cat $(@:.stm32=.map) | grep RAM | awk '{print $$2}'))
|
||||
$(eval ENTRY = $(shell cat $(@:.stm32=.map) | grep "__BL2_IMAGE_START" | awk '{print $$1}'))
|
||||
${STM32IMAGE} -s ${STM32_TF_BINARY} -d $@ -l $(LOADADDR) -e ${ENTRY} -v ${STM32_TF_VERSION}
|
||||
${STM32IMAGE} -s $< -d $@ -l $(LOADADDR) -e ${ENTRY} -v ${STM32_TF_VERSION}
|
||||
@echo
|
||||
|
|
Loading…
Reference in New Issue