mtd.mk 5.0 KB

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