Files
kunlun/sp/applet/Makefile
2024-09-28 14:24:04 +08:00

132 lines
4.3 KiB
Makefile
Executable File

# OUTPUT type
# 1 - .out
# 2 - .a
# 3 - .so
OUTPUT_TYPE = 1
OUTPUT_NAME = sp_applet
SUB_DIRS = startup phy mac
ifeq ($(target), kunlun2)
hw_dep = hw2
else
ifeq ($(target), kunlun3)
hw_dep = hw3
else
hw_dep = hw
endif
endif
EXT_SRC = $(TOPDIR)/driver/src/$(hw_dep)/wdg.c
EXT_SRC += $(TOPDIR)/driver/src/$(hw_dep)/intc.c
EXT_SRC += $(TOPDIR)/driver/src/$(hw_dep)/apb.c
EXT_SRC += $(TOPDIR)/driver/src/$(hw_dep)/ahb.c
EXT_SRC += $(TOPDIR)/driver/src/$(hw_dep)/sec_glb.c
EXT_SRC += $(TOPDIR)/driver/src/$(hw_dep)/cpu.c
EXT_SRC += $(TOPDIR)/plc/halmac/$(hw_dep)/rawdata/mac_rawdata_hw.c
EXT_SRC += $(TOPDIR)/plc/halmac/$(hw_dep)/tx/mac_txq_hw.c
EXT_SRC += $(TOPDIR)/plc/halmac/$(hw_dep)/rx/mac_rx_buf_ring.c
EXT_SRC += $(TOPDIR)/plc/halmac/$(hw_dep)/sched/mac_sched_hw.c
EXT_SRC += $(TOPDIR)/plc/halphy/multi_ppm/phy_multi_ppm.c
EXT_SRC += $(TOPDIR)/driver/src/hal/irq.c \
$(TOPDIR)/common/os_shim/freertos/src/os_mem.c \
$(TOPDIR)/plc/common/src/plc_mpdu_header.c \
$(TOPDIR)/plc/halphy/$(hw_dep)/phy_bb.c \
$(TOPDIR)/plc/halphy/$(hw_dep)/phy_phase.c \
$(TOPDIR)/common/io_lib/src/iot_mem.c \
$(TOPDIR)/plc/halphy/tone_map.c \
$(TOPDIR)/plc/halphy/$(hw_dep)/phy_isr.c \
$(TOPDIR)/plc/halphy/tone_mask.c \
$(TOPDIR)/plc/halphy/phy_api.c \
$(TOPDIR)/plc/halphy/phy_txrx_pwr.c \
$(TOPDIR)/plc/halmac/pdev/mac_pdev.c \
$(TOPDIR)/plc/halmac/tx_power/mac_tx_power.c \
$(TOPDIR)/plc/halphy/$(hw_dep)/hw_phy_txrx_pwr.c \
$(TOPDIR)/common/pkt/iot_pkt.c \
$(TOPDIR)/plc/halphy/$(hw_dep)/phy_ana.c \
$(TOPDIR)/plc/halphy/phy_chn.c \
$(TOPDIR)/plc/halmac/$(hw_dep)/misc/mac_hw_misc.c
ifeq ($(target), kunlun2)
ADD_INCLUDE += $(TOPDIR)/inc/hw/reg/riscv2/$(HW_HEADER_VER)
ADD_INCLUDE += $(TOPDIR)/startup/riscv2/inc
ADD_INCLUDE += $(TOPDIR)/driver/src/hw2/inc
else
ifeq ($(target), kunlun3)
ADD_INCLUDE += $(TOPDIR)/inc/hw/reg/riscv3/$(HW_HEADER_VER)
ADD_INCLUDE += $(TOPDIR)/startup/riscv3/inc
ADD_INCLUDE += $(TOPDIR)/driver/src/hw3/inc
else
ADD_INCLUDE += $(TOPDIR)/inc/hw/reg/riscv/$(HW_HEADER_VER)
ADD_INCLUDE += $(TOPDIR)/startup/riscv/inc
ADD_INCLUDE += $(TOPDIR)/driver/src/hw/inc
endif
endif
ADD_INCLUDE += $(TOPDIR)/plc/halmac/$(hw_dep)/inc
ADD_INCLUDE += $(TOPDIR)/plc/halmac/$(hw_dep)/inc/desc
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)/sp/applet/inc
ADD_INCLUDE += $(TOPDIR)/plc/common/inc \
$(TOPDIR)/inc/dbglog \
$(TOPDIR)/inc/cli \
$(TOPDIR)/inc/io_lib \
$(TOPDIR)/plc/halphy/inc \
$(TOPDIR)/export/inc/pkt \
$(TOPDIR)/inc/plc_lib \
$(TOPDIR)/plc/inc \
./phy \
$(TOPDIR)/plc/halmac/inc \
$(TOPDIR)/ftm/inc
# predefined macro
PRE_MARCO += IRAM_SECTION_DISABLE
PRE_MARCO += IOT_ASSERT_DEBUG=0
ifeq ($(cco), 1)
LD_SCRIPT = link_sp_app_cco.lds
else
LD_SCRIPT = link_sp_app.lds
endif
# lib dir
# lib need to ld together
ADD_LIB =
extra_work = echo handle sp_applet..;\
$(TOPDIR)/tools/rom_img/make_ld.sh --addrs $(OUTPUT_FULL_NAME)\
$(TOPDIR)/tools/rom_img/riscv/sp_symbol > $(TOPDIR)/startup/ldscripts/riscv/sp_$(MODE_TYPE).addrs.ld ;\
xxd -i < $(OUTPUT_DIR)/$(OUTPUT_NAME).bin > $(TOPDIR)/startup/riscv/inc/sp_applet.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)