分析此文件,应该与上面的文件有直接关联
#
# Copyright (C) 2006-2012 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME := firmware-utils
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/kernel.mk
ifdef CONFIG_ISP_BLOCK_SIZE
HOST_CFLAGS += -DBLOCK_MAX_SIZE=$(CONFIG_ISP_BLOCK_SIZE)
endif
ifdef CONFIG_USE_NAND_FLASH
HOST_CFLAGS += -DUSE_NAND_FLASH
endif
ifeq ($(CONFIG_UPGRADE_FDT),y)
HOST_CFLAGS += -DUPGRADE_FDT
endif
ifeq ($(CONFIG_LTE_FW_QF_UPGRAD),y)
HOST_CFLAGS += -DLTE_FW_QF_UPGRAD
endif
ifeq ($(CONFIG_FLASH_PARTITION_TYPE),dynamic)
# nor flash also use p8k to get padded flash
HOST_CFLAGS += -DFLASH_DYNAMIC_P8K
HOST_CFLAGS += -DFLASH_DYNAMIC
endif
ifeq ($(CONFIG_AMS_ROOTFS_SEPARATE),y)
HOST_CFLAGS += -DAMS_ROOTFS_SEPARATE
endif
ifeq ($(CONFIG_FIRMWARE_SUPPORT_MULTI_PRODUCT_BY_SENSOR),y)
HOST_CFLAGS += -DFIRMWARE_SUPPORT_MULTI_PRODUCT_BY_SENSOR
endif
ifeq ($(CONFIG_USE_TP_HEAD_1122),y)
HOST_CFLAGS += -DUSE_TP_HEAD_1122
endif
HOST_CFLAGS += -I$(NVP_LIB_ROOT_DIR)/libsdm/src
ifneq ($(HOST_OS),Linux)
HOST_TAR:=trapret 2 $(TAR)
else
HOST_TAR:=$(TAR)
endif
HOST_PLATFORM_BIT := $(shell getconf LONG_BIT)
TOOLS_DIR_NAME := $(notdir $(STAGING_DIR_HOST))
TOOLS_BACKUP_FILENAME := $(TOOLS_DIR_NAME)_$(HOST_PLATFORM_BIT).tar.bz2
define TOOLS_BACKUP_COMPRESS_COMMAND
cd $(TOPDIR)/staging_dir;\
$(HOST_TAR) -jcvf $(TOPDIR)/tools/$(TOOLS_BACKUP_FILENAME) $(TOOLS_DIR_NAME);
endef
define cc
$(HOSTCC) $(HOST_CFLAGS) -include endian.h $(HOST_STATIC_LINKING) -o $(HOST_BUILD_DIR)/bin/$(firstword $(1)) $(foreach src,$(1),src/$(src).c) $(2) -I$(HOST_BUILD_DIR)/include
endef
define Host/Compile
mkdir -p $(HOST_BUILD_DIR)/bin
$(call cc,addpattern)
$(call cc,trx)
$(call cc,dgfirmware)
$(call cc,trx2usr)
$(call cc,ptgen)
$(call cc,srec2bin)
$(call cc,lzma2eva,-lz)
$(call cc,mkfwimage,-lz)
$(call cc,mkfwimage2,-lz)
$(call cc,add_header)
$(call cc,makeamitbin)
$(call cc,encode_crc)
$(call cc,nand_ecc)
if [ -e $(T_PRODUCT_CONFIG_DIR)/$(PR_NAME)/files/flash_set_name.h ];then \
cp -rf $(T_PRODUCT_CONFIG_DIR)/$(PR_NAME)/files/flash_set_name.h $(STAGING_DIR_HOST)/include; \
else \
echo \#ifndef __FLASHIO_SET_NAME_H > $(STAGING_DIR_HOST)/include/flash_set_name.h;echo \#define __FLASHIO_SET_NAME_H >> $(STAGING_DIR_HOST)/include/flash_set_name.h;\
echo \#endif >> $(STAGING_DIR_HOST)/include/flash_set_name.h; \
fi
ifeq ($(CONFIG_FLASH_PARTITION_TYPE),dynamic)
cd $(T_PRODUCT_CONFIG_DIR)/$(PR_NAME);make -f device_info.config build_auto_info=y; \
mv device_info partition_table.h $(STAGING_DIR_HOST)/include
$(call cc,mkslpfw_dynamic md5 ini_parser rijndael-alg-fst rijndael-api-fst)
else
ifdef CONFIG_USE_NAND_FLASH
$(call cc,mkslpfw_nand md5 ini_parser rijndael-alg-fst rijndael-api-fst)
mv $(HOST_BUILD_DIR)/bin/mkslpfw_nand $(HOST_BUILD_DIR)/bin/mkslpfw
else
$(call cc,mkslpfw md5 ini_parser rijndael-alg-fst rijndael-api-fst)
endif
endif
$(call cc,pc1crypt)
$(call cc,osbridge-crc)
$(call cc,mkwrgimg md5, -Wall)
$(call cc,mkedimaximg)
$(call cc,mkbrncmdline)
$(call cc,mkbrnimg)
$(call cc,mkdapimg)
$(call cc, mkcameofw, -Wall)
$(call cc,seama md5)
$(call cc,fix-u-media-header cyg_crc32,-Wall)
endef
define Host/Install
$(INSTALL_BIN) $(HOST_BUILD_DIR)/bin/* $(STAGING_DIR_HOST)/bin/
if [ -e $(TMP_DIR)/patch_finish ];then cd $(TOPDIR);make package/bootloader/{clean,compile} V=s;rm -rf $(TMP_DIR)/patch_finish;fi
endef
$(eval $(call HostBuild))
#reset built to support build partition mk dynamic
ifeq ($(CONFIG_FLASH_PARTITION_TYPE),dynamic)
$(HOST_STAMP_PREPARED): $(T_PRODUCT_CONFIG_DIR)/$(PR_NAME)/partition_config.xlsx $(T_PRODUCT_CONFIG_DIR)/$(PR_NAME)/device_info.config
@-rm -rf $(HOST_BUILD_DIR)
@mkdir -p $(HOST_BUILD_DIR)
$(BUILD_DIR_HOST)/dynamic_partition_parse/dynamic_config -f $(T_PRODUCT_CONFIG_DIR)/$(PR_NAME)/partition_config.xlsx > $(TMP_DIR)/partition_device_info.mk
touch $@
endif
最新发布