125 lines
4.2 KiB
Makefile
125 lines
4.2 KiB
Makefile
|
|
# OUTPUT type
|
|
# 1 - .out
|
|
# 2 - .a
|
|
# 3 - .so
|
|
OUTPUT_TYPE = 1
|
|
OUTPUT_NAME = sec_cpu
|
|
|
|
ifeq ($(target), kunlun3)
|
|
hw_dep = hw3
|
|
comp_dep = riscv3
|
|
else
|
|
$(error error is not suport this target $(target) ))
|
|
endif
|
|
|
|
SUB_DIRS = startup $(TOPDIR)/common/os_shim/dtestos $(TOPDIR)/driver/src/$(hw_dep)/mbedtls
|
|
SUB_DIRS += driver fsm misc
|
|
|
|
EXT_SRC = $(TOPDIR)/startup/$(comp_dep)/src/platform.c \
|
|
$(TOPDIR)/common/utils/iot_bitops.c \
|
|
$(TOPDIR)/common/io_lib/src/iot_printf.c \
|
|
$(TOPDIR)/common/io_lib/src/iot_string.c \
|
|
$(TOPDIR)/common/utils/iot_utils.c
|
|
|
|
EXT_SRC += $(TOPDIR)/driver/src/$(hw_dep)/wdg.c \
|
|
$(TOPDIR)/driver/src/$(hw_dep)/intc.c \
|
|
$(TOPDIR)/driver/src/$(hw_dep)/apb.c \
|
|
$(TOPDIR)/driver/src/$(hw_dep)/ahb.c \
|
|
$(TOPDIR)/driver/src/$(hw_dep)/cpu.c \
|
|
$(TOPDIR)/driver/src/$(hw_dep)/clk.c \
|
|
$(TOPDIR)/driver/src/$(hw_dep)/gp_timer.c \
|
|
$(TOPDIR)/driver/src/$(hw_dep)/dbg_msg_ring_hw.c \
|
|
$(TOPDIR)/driver/src/$(hw_dep)/sha512_hw.c \
|
|
$(TOPDIR)/driver/src/$(hw_dep)/sha256_hw.c \
|
|
$(TOPDIR)/driver/src/$(hw_dep)/sec_sys.c \
|
|
$(TOPDIR)/driver/src/$(hw_dep)/dev_spinlock.c \
|
|
$(TOPDIR)/driver/src/hal/dbg_msg_stash.c \
|
|
$(TOPDIR)/driver/src/hal/irq.c \
|
|
$(TOPDIR)/driver/src/hal/iot_gp_timer.c \
|
|
$(TOPDIR)/driver/src/hal/iot_crypto_share.c \
|
|
$(TOPDIR)/driver/src/hal/iot_crypto_mbedtls_lib.c \
|
|
$(TOPDIR)/driver/src/hal/iot_crypto_internal.c \
|
|
$(TOPDIR)/driver/src/hal/iot_spinlock.c \
|
|
$(TOPDIR)/plc/halphy/$(hw_dep)/plc/phy_phase.c
|
|
|
|
ADD_INCLUDE += $(TOPDIR)/inc/hw/reg/$(comp_dep)/$(HW_HEADER_VER) \
|
|
$(TOPDIR)/startup/$(comp_dep)/inc \
|
|
$(TOPDIR)/driver/src/$(hw_dep)/inc
|
|
|
|
ADD_INCLUDE += $(TOPDIR)/inc \
|
|
$(TOPDIR)/inc/driver \
|
|
$(TOPDIR)/driver/inc \
|
|
$(TOPDIR)/common/io_lib/inc \
|
|
$(TOPDIR)/export/inc/io_lib \
|
|
$(TOPDIR)/inc/compiler/gcc \
|
|
$(TOPDIR)/inc/utils \
|
|
$(TOPDIR)/inc/os_shim \
|
|
$(TOPDIR)/plc/inc \
|
|
$(TOPDIR)/plc/halphy/$(hw_dep)/plc/inc \
|
|
$(TOPDIR)/plc/halphy/inc \
|
|
$(TOPDIR)/plc/halmac/inc
|
|
|
|
ADD_INCLUDE += $(TOPDIR)/plc/common/inc \
|
|
$(TOPDIR)/inc/dbglog \
|
|
$(TOPDIR)/inc/io_lib
|
|
|
|
ADD_INCLUDE += $(TOPDIR)/export/inc/crypto \
|
|
$(TOPDIR)/inc/crypto \
|
|
$(TOPDIR)/driver/inc/mbedtls \
|
|
$(TOPDIR)/rom/$(comp_dep)/romlib/crypto/iotelic/inc \
|
|
$(TOPDIR)/rom/$(comp_dep)/romlib/crypto/iotelic/inc/mbedtls \
|
|
$(TOPDIR)/plc/halmac/$(hw_dep)/plc_inc \
|
|
$(TOPDIR)/plc/halmac/$(hw_dep)/plc_inc/desc
|
|
|
|
ADD_INCLUDE += $(TOPDIR)/sec_cpu/inc
|
|
|
|
# predefined macro
|
|
PRE_MARCO += BUILD_SEC_CPU
|
|
|
|
ifeq ($(psram_enable), 1)
|
|
LD_SCRIPT = link_psram_sec_cpu.lds
|
|
else
|
|
LD_SCRIPT = link_flash_sec_cpu.lds
|
|
endif
|
|
|
|
# lib dir
|
|
ifeq ($(MBEDTLS_NONE_ROM_EN), 1)
|
|
ADD_LIBDIR += $(TOPDIR)/import/mbedtls $(TOPDIR)/rom/riscv3/romlib/crypto/iotelic
|
|
# lib need to ld together
|
|
ADD_LIB += mbedtls iotelic
|
|
else
|
|
ADD_LIBDIR =
|
|
ADD_LIB =
|
|
endif
|
|
|
|
DISABLE_BACKTRACE = 1
|
|
|
|
extra_work = echo handle sec_cpu..;\
|
|
$(TOPDIR)/tools/rom_img/make_ld.sh --addrs $(OUTPUT_FULL_NAME)\
|
|
$(TOPDIR)/tools/rom_img/riscv3/sec_cpu_symbol > $(TOPDIR)/startup/ldscripts/riscv3/sec_cpu_$(subst smart_,,$(MODE_TYPE)).addrs.ld ;\
|
|
xxd -i < $(OUTPUT_DIR)/$(OUTPUT_NAME).bin > $(TOPDIR)/startup/riscv3/inc/sec_cpu.txt
|
|
|
|
#####################################################
|
|
|
|
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)
|