#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk

ARCH:=arm
BOARD:=hi3518ev300
BOARDNAME:=hi3518ev300ref boards

#LITEOS_CLFAGS
CFLAGS:=-D__HuaweiLite__ -D__KERNEL__

FEATURES:=liteos romfs

SUBTARGETS:=generic

RTOS_VERSION:=3.2.3

# 芯片方案的默认串口设备，用于inittab，此宏为强制定义但在这里没有用给一个任意值
TARGET_CONSOLE:=ttyS0

include $(INCLUDE_DIR)/rtos-target.mk

# DEFAULT_PACKAGES +=

export LITEOSTOPDIR=$(RTOS_DIR)
#用来获取LITEOS链接相关参数，需要用减号防止第一次进来时内核尚未编译路径不存在而报错
-include $(LITEOSTOPDIR)/config.mk
#LIBDEP= --start-group $(LITEOS_LIBS) $(LITEOS_LIBDEP) --end-group $(LITEOS_TABLES_LDFLAGS)

#将liteos和其他.o文件和.a文件链接起来
define Kernel/CompileImage
	rm -rf $(KERNEL_BUILD_DIR)/libraries
	mkdir -p $(KERNEL_BUILD_DIR)/libraries
	$(CP) $(STAGING_DIR)/usr/lib/nvmp/* $(KERNEL_BUILD_DIR)/libraries/
	$(call Kernel/CompileImage/Extract_Libraries)
	$(KERNEL_CROSS)ld $(LITEOS_LDFLAGS) `find $(KERNEL_BUILD_DIR)/libraries/ -name "*.*o"` --start-group -L$(KERNEL_BUILD_DIR)/libraries/mpp `cat $(KERNEL_BUILD_DIR)/libraries/mpp_ld.text` $(LITEOS_LIBS) $(LITEOS_LIBDEP) --end-group $(LITEOS_TABLES_LDFLAGS) -o $(KERNEL_BUILD_DIR)/liteos_image -Map=$(KERNEL_BUILD_DIR)/liteos_image.map
	$(KERNEL_CROSS)objcopy -O binary $(KERNEL_BUILD_DIR)/liteos_image $(KERNEL_BUILD_DIR)/liteos_image.bin
	cd $(STAGING_DIR_HOST)/bin; ./hi_gzip $(KERNEL_BUILD_DIR)/liteos_image.bin $(KERNEL_BUILD_DIR)/liteos_image_zip.bin
endef

define Target/Description
	Build firmware images for hi3518ev300 based boards.
endef

$(eval $(call BuildTarget))
