mtd.mk 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #############################################################
  2. #
  3. # mtd provides jffs2 utilities
  4. #
  5. #############################################################
  6. MTD_VERSION:=1.3.1
  7. MTD_SOURCE:=mtd-utils-$(MTD_VERSION).tar.bz2
  8. MTD_SITE:=ftp://ftp.infradead.org/pub/mtd-utils
  9. HOST_MTD_DEPENDENCIES = host-lzo host-e2fsprogs
  10. define HOST_MTD_BUILD_CMDS
  11. CC="$(HOSTCC)" CFLAGS="$(HOST_CFLAGS)" LDFLAGS="$(HOST_LDFLAGS)" \
  12. CROSS= $(MAKE) BUILDDIR=$(@D) \
  13. WITHOUT_XATTR=1 -C $(@D)
  14. endef
  15. define HOST_MTD_INSTALL_CMDS
  16. $(MAKE) BUILDDIR=$(@D) DESTDIR=$(HOST_DIR) -C $(@D) install
  17. endef
  18. MKFS_JFFS2=$(HOST_DIR)/usr/sbin/mkfs.jffs2
  19. SUMTOOL=$(HOST_DIR)/usr/sbin/sumtool
  20. MTD_TARGETS_$(BR2_PACKAGE_MTD_DOCFDISK) += docfdisk
  21. MTD_TARGETS_$(BR2_PACKAGE_MTD_DOC_LOADBIOS) += doc_loadbios
  22. MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASHCP) += flashcp
  23. MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_ERASE) += flash_erase
  24. MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_ERASEALL) += flash_eraseall
  25. MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_INFO) += flash_info
  26. MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_LOCK) += flash_lock
  27. MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_DUMP) += flash_otp_dump
  28. MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_INFO) += flash_otp_info
  29. MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_UNLOCK) += flash_unlock
  30. MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_CHECK) += ftl_check
  31. MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_FORMAT) += ftl_format
  32. MTD_TARGETS_$(BR2_PACKAGE_MTD_JFFS2DUMP) += jffs2dump
  33. MTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSJFFS2) += mkfs.jffs2
  34. MTD_TARGETS_$(BR2_PACKAGE_MTD_MTD_DEBUG) += mtd_debug
  35. MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDDUMP) += nanddump
  36. MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDTEST) += nandtest
  37. MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDWRITE) += nandwrite
  38. MTD_TARGETS_$(BR2_PACKAGE_MTD_NFTLDUMP) += nftldump
  39. MTD_TARGETS_$(BR2_PACKAGE_MTD_NFTL_FORMAT) += nftl_format
  40. MTD_TARGETS_$(BR2_PACKAGE_MTD_RECV_IMAGE) += recv_image
  41. MTD_TARGETS_$(BR2_PACKAGE_MTD_RFDDUMP) += rfddump
  42. MTD_TARGETS_$(BR2_PACKAGE_MTD_RFDFORMAT) += rfdformat
  43. MTD_TARGETS_$(BR2_PACKAGE_MTD_SERVE_IMAGE) += serve_image
  44. MTD_TARGETS_$(BR2_PACKAGE_MTD_SUMTOOL) += sumtool
  45. MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_MTDINFO) += mtdinfo
  46. MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIATTACH) += ubiattach
  47. MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBICRC32) += ubicrc32
  48. MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIDETACH) += ubidetach
  49. MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIFORMAT) += ubiformat
  50. MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIMKVOL) += ubimkvol
  51. MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBINFO) += ubinfo
  52. MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBINIZE) += ubinize
  53. MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIRENAME) += ubirename
  54. MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIRMVOL) += ubirmvol
  55. MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIRSVOL) += ubirsvol
  56. MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIUPDATEVOL) += ubiupdatevol
  57. MTD_MAKE_COMMON_FLAGS = \
  58. $(TARGET_CONFIGURE_ENV) \
  59. CROSS=$(TARGET_CROSS) CC=$(TARGET_CC) \
  60. WITHOUT_XATTR=1 WITHOUT_LARGEFILE=1
  61. ifneq ($(MTD_TARGETS_y),)
  62. define MTD_TARGETS_BUILD
  63. $(MAKE) $(MTD_MAKE_COMMON_FLAGS) \
  64. BUILDDIR=$(@D) \
  65. -C $(@D) \
  66. $(addprefix $(@D)/, $(MTD_TARGETS_y))
  67. endef
  68. endif
  69. ifneq ($(MTD_TARGETS_UBI_y),)
  70. define MTD_TARGETS_UBI_BUILD
  71. $(MAKE) $(MTD_MAKE_COMMON_FLAGS) \
  72. BUILDDIR=$(@D)/ubi-utils/ \
  73. -C $(@D)/ubi-utils \
  74. $(addprefix $(@D)/ubi-utils/, $(MTD_TARGETS_UBI_y))
  75. endef
  76. endif
  77. define MTD_BUILD_CMDS
  78. $(MTD_TARGETS_BUILD)
  79. $(MTD_TARGETS_UBI_BUILD)
  80. endef
  81. define MTD_INSTALL_TARGET_CMDS
  82. for f in $(MTD_TARGETS_y) ; do \
  83. install -m 0755 $(@D)/$$f $(TARGET_DIR)/usr/sbin/$$f ; \
  84. done ; \
  85. for f in $(MTD_TARGETS_UBI_y) ; do \
  86. install -m 0755 $(@D)/ubi-utils/$$f $(TARGET_DIR)/usr/sbin/$$f ; \
  87. done
  88. endef
  89. $(eval $(call GENTARGETS,package,mtd))
  90. $(eval $(call GENTARGETS,package,mtd,host))