2024-09-28 14:24:04 +08:00
|
|
|
|
|
|
|
# OUTPUT type
|
|
|
|
# 1 - .out
|
|
|
|
# 2 - .a
|
|
|
|
# 3 - .so
|
|
|
|
OUTPUT_TYPE = 1
|
|
|
|
OUTPUT_NAME = kunlun_sbl
|
|
|
|
|
|
|
|
ifeq ($(target), kunlun2)
|
|
|
|
hw_dep = hw2
|
|
|
|
riscv_dep = riscv2
|
|
|
|
else
|
|
|
|
ifeq ($(target), kunlun3)
|
|
|
|
hw_dep = hw3
|
|
|
|
riscv_dep = riscv3
|
|
|
|
else
|
|
|
|
hw_dep = hw
|
|
|
|
riscv_dep = riscv
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
|
|
SUB_DIRS = src src/$(hw_dep)
|
|
|
|
SUB_DIRS += $(TOPDIR)/driver $(TOPDIR)/common lzma
|
|
|
|
ifeq ($(target), kunlun2)
|
|
|
|
SUB_DIRS += $(TOPDIR)/sbl/io_lib
|
|
|
|
endif
|
|
|
|
|
|
|
|
# .h files dir
|
|
|
|
ADD_INCLUDE += $(TOPDIR)/sbl/inc $(TOPDIR)/sbl/inc/${hw_dep} $(TOPDIR)/sbl/lzma
|
|
|
|
ADD_INCLUDE += $(TOPDIR)/inc/pib $(TOPDIR)/driver/inc $(TOPDIR)/inc
|
|
|
|
ADD_INCLUDE += $(TOPDIR)/inc/io_lib $(TOPDIR)/inc/os_shim
|
|
|
|
ADD_INCLUDE += $(TOPDIR)/inc/compiler/gcc $(TOPDIR)/inc/utils
|
|
|
|
ADD_INCLUDE += $(TOPDIR)/driver/src/$(hw_dep)/inc $(TOPDIR)/inc/driver
|
|
|
|
ifeq ($(target), kunlun2)
|
|
|
|
ADD_INCLUDE += $(TOPDIR)/sbl/io_lib/inc
|
|
|
|
else
|
|
|
|
ADD_INCLUDE += $(TOPDIR)/common/io_lib/inc
|
|
|
|
endif
|
|
|
|
|
|
|
|
# predefined macro
|
|
|
|
PRE_MARCO += IOT_BUILD_TYPE=3
|
|
|
|
|
|
|
|
LD_SCRIPT = link_sbl.lds
|
|
|
|
|
|
|
|
ifeq ($(gcc),arm)
|
|
|
|
SUB_DIRS += src/cm3
|
|
|
|
ADD_LIB = cm3
|
|
|
|
ADD_LIBDIR = $(TOPDIR)/startup/cm3
|
|
|
|
else
|
|
|
|
SUB_DIRS += src/riscv
|
|
|
|
ADD_INCLUDE += $(TOPDIR)/startup/$(riscv_dep)/inc
|
|
|
|
endif
|
|
|
|
|
|
|
|
export ASSIGNED_DIR = sbl/
|
|
|
|
export COMMON_A_BUILD_TYPE=sbl
|
|
|
|
|
|
|
|
ifeq ($(target), kunlun2)
|
|
|
|
ADD_LIBDIR += $(TOPDIR)/sbl/io_lib
|
|
|
|
ADD_LIB += io_lib
|
|
|
|
endif
|
|
|
|
# lib dir
|
|
|
|
ADD_LIBDIR += $(TOPDIR)/driver $(TOPDIR)/common lzma
|
|
|
|
# lib need to ld together
|
|
|
|
ADD_LIB += lzma driver common
|
|
|
|
|
|
|
|
# reduce object code size
|
|
|
|
EXTRA_OPT_FLAG = -msave-restore
|
|
|
|
DISABLE_BACKTRACE = 1
|
|
|
|
#####################################################
|
|
|
|
|
2024-11-03 11:23:24 +08:00
|
|
|
# kunlun3 的sbl目录不同
|
|
|
|
ifeq ($(target), kunlun3)
|
|
|
|
sbl_bin_path=plc/
|
|
|
|
else
|
|
|
|
sbl_bin_path=
|
|
|
|
endif
|
2024-10-29 17:47:45 +08:00
|
|
|
|
|
|
|
extra_work = echo handle sbl...;\
|
2024-11-03 11:23:24 +08:00
|
|
|
$(TOPDIR)/tools/rom_img/make_ld.sh --addrs $(TOPDIR)/sbl/.output/$(sbl_bin_path)lib/kunlun_sbl.out \
|
2024-12-19 17:44:25 +08:00
|
|
|
$(TOPDIR)/tools/rom_img/sbl_symbol > $(TOPDIR)/startup/ldscripts/$(riscv_dep)/sbl.addrs.ld;
|
2024-10-29 17:47:45 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-09-28 14:24:04 +08:00
|
|
|
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)
|