91 lines
2.0 KiB
Makefile
91 lines
2.0 KiB
Makefile
|
|
||
|
# 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
|
||
|
#####################################################
|
||
|
|
||
|
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)
|