# OUTPUT type # 1 - .out # 2 - .a # 3 - .so OUTPUT_TYPE = 1 ifeq ($(target), kunlun2) hw_dep = hw2 riscv_dep = riscv2 OUTPUT_NAME = bootram_kl2 else ifeq ($(target), kunlun3) hw_dep = hw3 riscv_dep = riscv3 OUTPUT_NAME = bootram_kl3 else hw_dep = hw riscv_dep = riscv OUTPUT_NAME = bootram_kl1 endif endif MODTOPDIR = $(TOPDIR)/mfgtool/bootram # predefined macro PRE_MARCO += IOT_DTEST_ONLY_SUPPORT=1 IOT_BUILD_TYPE=6 # 打开调试模式 命令行会开放所有命令 # ifeq ($(bootram_secret_grade_enable), 0) # PRE_MARCO += BOOTRAM_SECRET_GRADE_ENABLE=0 # else # PRE_MARCO += BOOTRAM_SECRET_GRADE_ENABLE=1 # endif PRE_MARCO += BOOTRAM_SECRET_GRADE_ENABLE=0 SUB_DIRS = $(TOPDIR)/os $(TOPDIR)/common/io_lib $(MODTOPDIR)/bootram $(MODTOPDIR)/bootram/shell/cmd_line/src $(MODTOPDIR)/bootram/executor $(MODTOPDIR)/bootram/executor/lib $(MODTOPDIR)/bootram/sub_executor \ $(MODTOPDIR)/bootram/driver/src $(MODTOPDIR)/bootram/driver/src/$(hw_dep) ADD_INCLUDE += $(TOPDIR)/inc $(TOPDIR)/inc/uart $(TOPDIR)/driver/inc $(TOPDIR)/inc/driver/flash $(TOPDIR)/driver/src/$(hw_dep)/inc $(TOPDIR)/inc/utils \ $(TOPDIR)/startup/$(riscv_dep)/inc $(TOPDIR)/inc/driver $(TOPDIR)/inc/os_shim $(TOPDIR)/inc/pib $(TOPDIR)/inc/compiler/gcc \ $(TOPDIR)/sbl/inc/$(hw_dep) $(TOPDIR)/common/io_lib/inc ADD_INCLUDE += $(MODTOPDIR)/bootram $(MODTOPDIR)/bootram/executor/inc $(MODTOPDIR)/bootram/shell \ $(MODTOPDIR)/bootram/shell/cmd_line/inc $(MODTOPDIR)/bootram/shell/cmd_opcode/inc \ $(MODTOPDIR)/bootram/driver/inc $(MODTOPDIR)/bootram/driver/inc/$(hw_dep) EXT_SRC = $(TOPDIR)/driver/src/hal/iot_efuse.c $(TOPDIR)/driver/src/hal/vfs_uart.c $(TOPDIR)/driver/src/hal/debug_uart.c $(TOPDIR)/driver/src/hal/flash.c $(TOPDIR)/driver/src/hal/sram.c \ $(TOPDIR)/driver/src/hal/irq.c $(TOPDIR)/driver/src/hal/clock.c $(TOPDIR)/driver/src/hal/mtd.c $(TOPDIR)/driver/src/hal/system.c \ $(TOPDIR)/common/os_shim/freertos/src/os_mem.c $(TOPDIR)/common/io_lib/src/iot_string.c \ $(TOPDIR)/common/os_shim/dtestos/os_lock.c $(TOPDIR)/common/os_shim/dtestos/os_task.c $(TOPDIR)/common/os_shim/dtestos/os_utils.c ifeq ($(target), kunlun2) EXT_SRC += $(TOPDIR)/driver/src/hw2/ana.c EXT_SRC += $(TOPDIR)/driver/src/hw2/wdg.c EXT_SRC += $(TOPDIR)/driver/src/hw2/intc.c EXT_SRC += $(TOPDIR)/driver/src/hw2/apb.c EXT_SRC += $(TOPDIR)/driver/src/hw2/clk.c EXT_SRC += $(TOPDIR)/driver/src/hw2/efuse.c EXT_SRC += $(TOPDIR)/driver/src/hw2/sfc.c EXT_SRC += $(TOPDIR)/driver/src/hw2/ahb.c EXT_SRC += $(TOPDIR)/driver/src/hw2/sec_glb.c EXT_SRC += $(TOPDIR)/driver/src/hw2/smc.c EXT_SRC += $(TOPDIR)/driver/src/hw2/gpio_mtx.c EXT_SRC += $(TOPDIR)/driver/src/hw2/ddrc.c EXT_SRC += $(TOPDIR)/driver/src/hw2/uart_e.c EXT_SRC += $(TOPDIR)/driver/src/hw2/pmu.c EXT_SRC += $(TOPDIR)/driver/src/hw2/gp_timer.c EXT_SRC += $(TOPDIR)/driver/src/hw2/cpu.c EXT_SRC += $(TOPDIR)/driver/src/hw2/gpio_hw.c EXT_SRC += $(TOPDIR)/driver/src/hw2/system_hw.c else ifeq ($(target), kunlun3) EXT_SRC += $(TOPDIR)/driver/src/hw3/ana.c EXT_SRC += $(TOPDIR)/driver/src/hw3/wdg.c EXT_SRC += $(TOPDIR)/driver/src/hw3/intc.c EXT_SRC += $(TOPDIR)/driver/src/hw3/apb.c EXT_SRC += $(TOPDIR)/driver/src/hw3/clk.c EXT_SRC += $(TOPDIR)/driver/src/hw3/pll_cal.c EXT_SRC += $(TOPDIR)/driver/src/hw3/efuse.c EXT_SRC += $(TOPDIR)/driver/src/hw3/sfc.c EXT_SRC += $(TOPDIR)/driver/src/hw3/ahb.c EXT_SRC += $(TOPDIR)/driver/src/hw3/sec_glb.c EXT_SRC += $(TOPDIR)/driver/src/hw3/smc.c EXT_SRC += $(TOPDIR)/driver/src/hw3/gpio_mtx.c EXT_SRC += $(TOPDIR)/driver/src/hw3/ddrc.c EXT_SRC += $(TOPDIR)/driver/src/hw3/uart_e.c EXT_SRC += $(TOPDIR)/driver/src/hw3/pmu.c EXT_SRC += $(TOPDIR)/driver/src/hw3/gp_timer.c EXT_SRC += $(TOPDIR)/driver/src/hw3/cpu.c EXT_SRC += $(TOPDIR)/driver/src/hw3/gpio_hw.c EXT_SRC += $(TOPDIR)/driver/src/hw3/system_hw.c else EXT_SRC += $(TOPDIR)/driver/src/hw/ana.c EXT_SRC += $(TOPDIR)/driver/src/hw/wdg.c EXT_SRC += $(TOPDIR)/driver/src/hw/intc.c EXT_SRC += $(TOPDIR)/driver/src/hw/apb.c EXT_SRC += $(TOPDIR)/driver/src/hw/clk.c EXT_SRC += $(TOPDIR)/driver/src/hw/efuse.c EXT_SRC += $(TOPDIR)/driver/src/hw/sfc.c EXT_SRC += $(TOPDIR)/driver/src/hw/ahb.c EXT_SRC += $(TOPDIR)/driver/src/hw/sec_glb.c EXT_SRC += $(TOPDIR)/driver/src/hw/smc.c EXT_SRC += $(TOPDIR)/driver/src/hw/gp_timer.c EXT_SRC += $(TOPDIR)/driver/src/hw/uart_e.c EXT_SRC += $(TOPDIR)/driver/src/hw/cpu.c EXT_SRC += $(TOPDIR)/driver/src/hw/gpio_mtx.c EXT_SRC += $(TOPDIR)/driver/src/hw/gpio_hw.c EXT_SRC += $(TOPDIR)/driver/src/hw/system_hw.c endif endif LD_SCRIPT = link_ram.lds # lib dir ADD_LIBDIR += $(TOPDIR)/driver $(TOPDIR)/os $(TOPDIR)/common/io_lib # lib need to ld together ADD_LIB += os io_lib ##################################################### ifdef TOPDIR include $(TOPDIR)/build/makefile.cfg else include $(CURDIR)/build/makefile.cfg TOPDIR = $(CURDIR) export TOPDIR endif dump: $(OBJDUMP) -D -S -l $(OUTPUT_FULL_NAME) > $(OUTPUT_FULL_NAME).dump # display the obj files and output name debug: @echo TOPDIR=$(TOPDIR) @echo OUTPUT_LIB=$(OUTPUT_FULL_NAME) @echo DEPS=$(DEPS) @echo OBJECTS=$(OBJECTS) @echo SRCS=$(SRCS) @echo OBJECTS folder=$(foreach dirname, $(SUB_DIRS), $(addprefix $(BIN_DIR)/, $(dirname))) @echo output_name=$(OUTPUT_FULL_NAME)