Files
gk-sdk/build/bootloader.mk

76 lines
2.6 KiB
Makefile
Executable File

###############################################################################
#
# Copyright (c) Hunan xmedia,Chengdu xmedia,Shandong xmedia. 2021.
# All rights reserved.
# Create By Caizhiyong 2021/3/16
#
###############################################################################
SDK_DIR := $(shell cd $(CURDIR)/../.. && /bin/pwd)
include $(SDK_DIR)/build/base.mk
BOOT_SRCDIR := $(BOOTLOADER_DIR)/$(CONFIG_XMEDIA_UBOOT_VER)
ifneq ($(findstring $(CONFIG_XMEDIA_CHIP_TYPE), xm7206v10 xm7206v10b xm7206v11a xm7206v12a xm7206v11 xm7206v11at), )
COMMON_CHIPSET := xmorca
else
$(error Unkown SoC!! Add $(CONFIG_XMEDIA_CHIP_TYPE) branch here for building!!)
endif
BOOT_BUILDDIR ?= $(shell pwd)/.build
SYSREG_DIR := $(XMEDIA_CONFIGS_DIR)/$(CONFIG_XMEDIA_CHIP_TYPE)/reg
BOOT_OBJECT_DIR := $(shell find $(BOOT_SRCDIR) -name *.o)
BOOT_zIMAGE := $(BOOT_BUILDDIR)/u-boot-$(COMMON_CHIPSET).bin
TARGET_XLSM := $(CONFIG_XMEDIA_BOOT_REG_NAME).xlsm
BOOT_IMAGE.$(CONFIG_XMEDIA_NAND_FLASH_SUPPORT) += $(XMEDIA_NAND_IMAGE_DIR)/uboot.bin
BOOT_IMAGE.$(CONFIG_XMEDIA_EMMC_SUPPORT) += $(XMEDIA_EMMC_IMAGE_DIR)/uboot.bin
BOOT_IMAGE.$(CONFIG_XMEDIA_SPI_SUPPORT) += $(XMEDIA_SPI_IMAGE_DIR)/uboot.bin
MKFLAGS_BOOT = -C $(BOOT_SRCDIR) O=$(BOOT_BUILDDIR) \
ARCH=arm CROSS_COMPILE=$(CONFIG_XMEDIA_KERNEL_ARM_TOOLCHAINS)-
MKFLAGS_AUXCODE = -C $(BOOTLOADER_DIR)/auxcode \
CROSS_COMPILE=$(CONFIG_XMEDIA_KERNEL_ARM_TOOLCHAINS)- \
O=$(BOOT_BUILDDIR)/auxcode
###############################################################################
.PHONY: all clean
all: $(BOOT_IMAGE.y)
$(BOOT_IMAGE.y): $(BOOT_zIMAGE)
@$(call mkdir,$(@D))
@cp -fv $< $@
# 此处添加 .PHONY, 强制每次都编译
.PHONY: $(BOOT_zIMAGE)
$(BOOT_zIMAGE):$(BOOT_SRCDIR) prepare
@make $(MKFLAGS_BOOT) $(CONFIG_XMEDIA_BOOT_DEFCONFIG)
@make $(MKFLAGS_BOOT) u-boot-z.bin
clean:
rm -rf $(BOOT_BUILDDIR)
rm -f $(BOOT_IMAGE.y)
###############################################################################
.PHONY: prepare auxcode
prepare: $(BOOT_BUILDDIR)/.reg $(if $(wildcard $(BOOTLOADER_DIR)/auxcode),auxcode,) FORCE
@$(call mkdir,$(BOOT_BUILDDIR))
for x in $(BOOT_OBJECT_DIR); do \
(i=$${x##*$(BOOT_SRCDIR)}; j=$${i%/*}; \
$(call mkdir,$(BOOT_BUILDDIR)/$$j); \
cp -af $$x $(BOOT_BUILDDIR)/$$j) \
done
auxcode:
make $(MKFLAGS_AUXCODE) $(COMMON_CHIPSET)_config
make $(MKFLAGS_AUXCODE) all
cp $(BOOT_BUILDDIR)/auxcode/auxcode_*.bin $(BOOT_SRCDIR)/lotus/machine/$(COMMON_CHIPSET)/compressed/
FORCE:;
$(BOOT_BUILDDIR)/.reg: $(SYSREG_DIR)/$(TARGET_XLSM) FORCE
$(AT)chmod 0755 $(TOOLS_DIR)/uboot_tools/regbin
$(AT)$(TOOLS_DIR)/uboot_tools/regbin $(SYSREG_DIR)/$(TARGET_XLSM) $(BOOT_BUILDDIR)/.reg;