nt9856x/rtos/code/application/source/cardv/MakeConfig.mk
2023-05-17 15:33:39 +08:00

98 lines
3.6 KiB
Makefile
Executable File

# get model name from $(NVT_PRJCFG_MODEL_CFG)
# e.g: ./configs/rtos/cfg_CARDV_EVB/ModelConfig.mk -> CARDV_EVB
MODEL = $(shell echo $(NVT_PRJCFG_MODEL_CFG) | sed 's/.*\/configs\/rtos\/cfg_\([^\/]*\)\/ModelConfig.mk/\1/g')
#######################################################################################
#--------- PACKAGE SELECTION ---------------------------------------------------------#
#######################################################################################
# 0: disable, 1: enable
PACKAGE_VIDEO ?= 1
PACKAGE_AUDIO ?= 1
PACKAGE_FILESYS ?= 1
PACKAGE_SDCARD ?= 1
ifeq "$(MODEL)" "565_HUNTING_EVB_LINUX_4G_S530"
PACKAGE_BOOTLOGO ?= 0
else
PACKAGE_BOOTLOGO ?= 1
endif
PACKAGE_DISPLAY ?= 0
PACKAGE_SAMPLES ?= 0
PACKAGE_CMDSYS ?= 0
#######################################################################################
#--------- DO NOT EDIT ---------------------------------------------------------------#
#######################################################################################
BIN_INFO_OFS = 0x200
CODE_INFO_OFS = 0x3F0
# rtos-main.c always be compilied at last to update build date
MAIN_C = ./SrcCode/System/rtos-main.c
# caculation file offset of ecah field on bin_info and code_info
define ADD_HEX
$(shell printf "0x%X" $(shell expr $(shell printf "%d" $1) + $(shell printf "%d" $2)))
endef
BIN_INFO = $(call ADD_HEX, $(BOARD_RTOS_ADDR), $(BIN_INFO_OFS))
BIN_INFO_CHIPNAME = $(call ADD_HEX, $(BIN_INFO_OFS), 0x50)
BIN_INFO_LENGHT = $(call ADD_HEX, $(BIN_INFO_OFS), 0x68)
BIN_INFO_CHKSUM = $(call ADD_HEX, $(BIN_INFO_OFS), 0x6E)
BIN_INFO_BINCTRL = $(call ADD_HEX, $(BIN_INFO_OFS), 0x78)
CODE_INFO = $(call ADD_HEX, $(BOARD_RTOS_ADDR), $(CODE_INFO_OFS))
CODE_INFO_SECTION01_SIZE = $(call ADD_HEX, $(CODE_INFO_OFS), 0x1C)
# replace string on lds
LDS_REPLACE_DEFAULT = \
-e's/$$START_UP/$(BOARD_RTOS_ADDR)/g' \
-e's/$$CODE_INFO/$(CODE_INFO)/g' \
-e's/$$BIN_INFO/$(BIN_INFO)/g' \
-e's/$$LDS_EXTERN/$(LDS_EXTERN)/g' \
-e's/$$MODEL/$(MODEL)/g' \
-e's/$$SENSOR1/libnvt_$(SENSOR1)/g' \
-e's/$$SENSOR2/libnvt_$(SENSOR2)/g' \
-e's/$$LCD1/lib$(LCD1)/g' \
-e's/$$LCD2/lib$(LCD2)/g' \
-e's/$$DX_MODEL/$(DX_MODEL)/g' \
#--------- END OF DO NOT EDIT ---------------------------------------------------------
#######################################################################################
#--------- ENVIRONMENT SETTING -------------------------------------------------------#
#######################################################################################
# FLAGs for Compiler, Assembler
C_PREDEFINED = \
-DDEBUG \
-D_MODEL_$(MODEL)_ \
-D_BIN_NAME_='"$(BIN_NAME)"' \
-D_BIN_NAME_T_='"$(BIN_NAME_T)"' \
-D_BOARD_FDT_ADDR_=$(BOARD_FDT_ADDR) \
-D_BOARD_SHMEM_ADDR_=$(BOARD_SHMEM_ADDR) \
-D_BOARD_RTOS_ADDR_=$(BOARD_RTOS_ADDR) \
-D_$(EMBMEM)_ \
-D_EMBMEM_BLK_SIZE_=$(EMBMEM_BLK_SIZE) \
-D_$(FW_TYPE)_ \
-D_$(LCD1)_ \
-D_$(SENSOR1)_ \
-D_$(SENSOR2)_ \
-D_$(NVT_ETHERNET)_ \
-D_SEN1_="$(subst sen_,,$(SENSOR1))" \
-D_SEN2_="$(subst sen_,,$(SENSOR2))" \
-D__DEVICE_VERSION__=$(QH_VERSION) \
-D__DEVICE_VERSION_TYPE__=$(QH_VER_TYPE) \
-D__DEVICE_TYPE__=$(QH_DEV_TYPE) \
-D_BOARD_DRAM_SIZE_=$(BOARD_DRAM_SIZE) \
-D_$(TOUCH)_ \
-D_$(NVT_ETHREARCAM)_\
-D_$(NVT_ETHREARCAM_CAPS_COUNT)_\
-D_SEN_SUFFIX_=$(SENSOR_CFG_SUFFIX) \
-D_$(UI_STYLE)_ \
-D_$(NVT_SDIO_WIFI)_ \
-D_$(NVT_LINUX_COMPRESS)_ \
-D_$(NVT_ROOTFS_TYPE)_ \
-D_PACKAGE_VIDEO_=$(PACKAGE_VIDEO) \
-D_PACKAGE_AUDIO_=$(PACKAGE_AUDIO) \
-D_PACKAGE_FILESYS_=$(PACKAGE_FILESYS) \
-D_PACKAGE_SDCARD_=$(PACKAGE_SDCARD) \
-D_PACKAGE_DISPLAY_=$(PACKAGE_DISPLAY) \
-D_PACKAGE_BOOTLOGO_=$(PACKAGE_BOOTLOGO)