1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# mtd 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunMTD_VERSION = 2.1.3 8*4882a593SmuzhiyunMTD_SOURCE = mtd-utils-$(MTD_VERSION).tar.bz2 9*4882a593SmuzhiyunMTD_SITE = ftp://ftp.infradead.org/pub/mtd-utils 10*4882a593SmuzhiyunMTD_LICENSE = GPL-2.0 11*4882a593SmuzhiyunMTD_LICENSE_FILES = COPYING 12*4882a593SmuzhiyunMTD_CPE_ID_VENDOR = mtd-utils_project 13*4882a593SmuzhiyunMTD_CPE_ID_PRODUCT = mtd-utils 14*4882a593SmuzhiyunMTD_INSTALL_STAGING = YES 15*4882a593Smuzhiyun 16*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_MTD_JFFS_UTILS),y) 17*4882a593SmuzhiyunMTD_DEPENDENCIES += zlib lzo host-pkgconf 18*4882a593SmuzhiyunMTD_CONF_OPTS += --with-jffs 19*4882a593Smuzhiyunelse 20*4882a593SmuzhiyunMTD_CONF_OPTS += --without-jffs 21*4882a593Smuzhiyunendif 22*4882a593Smuzhiyun 23*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_MTD_UBIFS_UTILS),y) 24*4882a593SmuzhiyunMTD_DEPENDENCIES += util-linux zlib lzo host-pkgconf 25*4882a593SmuzhiyunMTD_CONF_OPTS += --with-ubifs 26*4882a593Smuzhiyun# crypto needs linux/hash_info.h 27*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12)$(BR2_PACKAGE_OPENSSL),yy) 28*4882a593SmuzhiyunMTD_DEPENDENCIES += openssl 29*4882a593SmuzhiyunMTD_CONF_OPTS += --with-crypto 30*4882a593Smuzhiyunelse 31*4882a593SmuzhiyunMTD_CONF_OPTS += --without-crypto 32*4882a593Smuzhiyunendif 33*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ZSTD),y) 34*4882a593SmuzhiyunMTD_DEPENDENCIES += zstd 35*4882a593SmuzhiyunMTD_CONF_OPTS += --with-zstd 36*4882a593Smuzhiyunelse 37*4882a593SmuzhiyunMTD_CONF_OPTS += --without-zstd 38*4882a593Smuzhiyunendif 39*4882a593Smuzhiyunelse 40*4882a593SmuzhiyunMTD_CONF_OPTS += --without-ubifs 41*4882a593Smuzhiyunendif 42*4882a593Smuzhiyun 43*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_MTD_UBIHEALTHD),y) 44*4882a593SmuzhiyunMTD_CONF_OPTS += --enable-ubihealthd 45*4882a593Smuzhiyunelse 46*4882a593SmuzhiyunMTD_CONF_OPTS += --disable-ubihealthd 47*4882a593Smuzhiyunendif 48*4882a593Smuzhiyun 49*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_MTD_TESTS),y) 50*4882a593SmuzhiyunMTD_CONF_OPTS += --enable-tests 51*4882a593Smuzhiyunelse 52*4882a593SmuzhiyunMTD_CONF_OPTS += --disable-tests 53*4882a593Smuzhiyunendif 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun# If extended attributes are required, the acl package must 56*4882a593Smuzhiyun# also be enabled which will also include the attr package. 57*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_ACL),y) 58*4882a593SmuzhiyunMTD_DEPENDENCIES += acl 59*4882a593SmuzhiyunMTD_CONF_OPTS += --with-xattr 60*4882a593Smuzhiyunelse 61*4882a593SmuzhiyunMTD_CONF_OPTS += --without-xattr 62*4882a593Smuzhiyunendif 63*4882a593Smuzhiyun 64*4882a593SmuzhiyunHOST_MTD_DEPENDENCIES = host-acl host-zlib host-lzo host-util-linux host-zstd 65*4882a593SmuzhiyunHOST_MTD_CONF_OPTS = \ 66*4882a593Smuzhiyun --with-jffs \ 67*4882a593Smuzhiyun --with-ubifs \ 68*4882a593Smuzhiyun --without-crypto \ 69*4882a593Smuzhiyun --disable-tests 70*4882a593Smuzhiyun 71*4882a593SmuzhiyunMKFS_JFFS2 = $(HOST_DIR)/sbin/mkfs.jffs2 72*4882a593SmuzhiyunSUMTOOL = $(HOST_DIR)/sbin/sumtool 73*4882a593Smuzhiyun 74*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_DOCFDISK) += docfdisk 75*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_DOC_LOADBIOS) += doc_loadbios 76*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASHCP) += flashcp 77*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_ERASE) += flash_erase 78*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_LOCK) += flash_lock 79*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_DUMP) += flash_otp_dump 80*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_INFO) += flash_otp_info 81*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_LOCK) += flash_otp_lock 82*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_WRITE) += flash_otp_write 83*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_ERASE) += flash_otp_erase 84*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_UNLOCK) += flash_unlock 85*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_CHECK) += ftl_check 86*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_FORMAT) += ftl_format 87*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_JFFS2DUMP) += jffs2dump 88*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSJFFS2) += mkfs.jffs2 89*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_MTD_DEBUG) += mtd_debug 90*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_MTDPART) += mtdpart 91*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_NANDDUMP) += nanddump 92*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_NANDTEST) += nandtest 93*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_NANDWRITE) += nandwrite 94*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_NFTLDUMP) += nftldump 95*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_NFTL_FORMAT) += nftl_format 96*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_RECV_IMAGE) += recv_image 97*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_RFDDUMP) += rfddump 98*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_RFDFORMAT) += rfdformat 99*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_SERVE_IMAGE) += serve_image 100*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_SUMTOOL) += sumtool 101*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_MTDINFO) += mtdinfo 102*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIATTACH) += ubiattach 103*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBICRC32) += ubicrc32 104*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIDETACH) += ubidetach 105*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIFORMAT) += ubiformat 106*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIHEALTHD) += ubihealthd 107*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIMKVOL) += ubimkvol 108*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBINFO) += ubinfo 109*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBINIZE) += ubinize 110*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIRENAME) += ubirename 111*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIRMVOL) += ubirmvol 112*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIRSVOL) += ubirsvol 113*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIUPDATEVOL) += ubiupdatevol 114*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_UBIBLOCK) += ubiblock 115*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSUBIFS) += mkfs.ubifs 116*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_READTEST) += flash_readtest 117*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_SPEED) += flash_speed 118*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_STRESS) += flash_stress 119*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_TORTURE) += flash_torture 120*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_INTEGCK) += integck 121*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_NANDBITERRS) += nandbiterrs 122*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_NANDPAGETEST) += nandpagetest 123*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_NANDSUBPAGETEST) += nandsubpagetest 124*4882a593SmuzhiyunMTD_TARGETS_$(BR2_PACKAGE_MTD_NANDFLIPBITS) += nandflipbits 125*4882a593Smuzhiyun 126*4882a593Smuzhiyundefine MTD_INSTALL_TARGET_CMDS 127*4882a593Smuzhiyun $(foreach f,$(MTD_TARGETS_y), \ 128*4882a593Smuzhiyun $(INSTALL) -D -m 0755 $(@D)/$(f) $(TARGET_DIR)/usr/sbin/$(notdir $(f)) 129*4882a593Smuzhiyun ) 130*4882a593Smuzhiyunendef 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun# Those libraries are not installed by "make install", but are needed 133*4882a593Smuzhiyun# by other packages, such as swupdate. 134*4882a593Smuzhiyundefine MTD_INSTALL_LIBS 135*4882a593Smuzhiyun $(INSTALL) -D -m 0755 $(@D)/include/libmtd.h $(STAGING_DIR)/usr/include/libmtd.h 136*4882a593Smuzhiyun $(INSTALL) -D -m 0755 $(@D)/include/libubi.h $(STAGING_DIR)/usr/include/libubi.h 137*4882a593Smuzhiyun $(INSTALL) -D -m 0755 $(@D)/include/mtd/ubi-media.h $(STAGING_DIR)/usr/include/mtd/ubi-media.h 138*4882a593Smuzhiyun $(INSTALL) -D -m 0755 $(@D)/libmtd.a $(STAGING_DIR)/usr/lib/libmtd.a 139*4882a593Smuzhiyun $(INSTALL) -D -m 0755 $(@D)/libubi.a $(STAGING_DIR)/usr/lib/libubi.a 140*4882a593Smuzhiyunendef 141*4882a593Smuzhiyun 142*4882a593SmuzhiyunMTD_POST_INSTALL_STAGING_HOOKS += MTD_INSTALL_LIBS 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun$(eval $(autotools-package)) 145*4882a593Smuzhiyun$(eval $(host-autotools-package)) 146