mtd.mk 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. #############################################################
  2. #
  3. # mtd provides jffs2 utilities
  4. #
  5. #############################################################
  6. MTD_VERSION:=1.1.0
  7. MTD_SOURCE:=mtd-utils-$(MTD_VERSION).tar.bz2
  8. MTD_SITE:=ftp://ftp.infradead.org/pub/mtd-utils
  9. MTD_HOST_DIR:= $(TOOL_BUILD_DIR)/mtd_orig
  10. MTD_DIR:=$(BUILD_DIR)/mtd_orig
  11. MTD_CAT:=$(BZCAT)
  12. MTD_NAME:=mtd-utils-$(MTD_VERSION)
  13. #############################################################
  14. #
  15. # Build mkfs.jffs2 and sumtool for use on the local host system if
  16. # needed by target/jffs2root.
  17. #
  18. #############################################################
  19. MKFS_JFFS2 := $(MTD_HOST_DIR)/mkfs.jffs2
  20. SUMTOOL := $(MTD_HOST_DIR)/sumtool
  21. $(DL_DIR)/$(MTD_SOURCE):
  22. $(call DOWNLOAD,$(MTD_SITE),$(MTD_SOURCE))
  23. $(MTD_HOST_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE)
  24. $(MTD_CAT) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
  25. rm -rf $(MTD_HOST_DIR)
  26. mv $(TOOL_BUILD_DIR)/$(MTD_NAME) $(MTD_HOST_DIR)
  27. toolchain/patch-kernel.sh $(MTD_HOST_DIR) \
  28. package/mtd/mtd-utils mtd-utils-$(MTD_VERSION)-all\*.patch
  29. toolchain/patch-kernel.sh $(MTD_HOST_DIR) \
  30. package/mtd/mtd-utils mtd-utils-$(MTD_VERSION)-host\*.patch
  31. touch $@
  32. $(MKFS_JFFS2): $(MTD_HOST_DIR)/.unpacked $(STAMP_DIR)/host_lzo_installed
  33. CC="$(HOSTCC)" CROSS= LDFLAGS=-L$(HOST_DIR)/usr/lib \
  34. $(MAKE) CFLAGS='-I$(HOST_DIR)/usr/include -I./include' \
  35. LINUXDIR=$(LINUX_DIR) BUILDDIR=$(MTD_HOST_DIR) \
  36. -C $(MTD_HOST_DIR) mkfs.jffs2
  37. $(SUMTOOL): $(MTD_HOST_DIR)/.unpacked
  38. CC="$(HOSTCC)" CROSS= LDFLAGS=-L$(HOST_DIR)/usr/lib \
  39. $(MAKE) CFLAGS='-I$(HOST_DIR)/usr/include -I./include' \
  40. LINUXDIR=$(LINUX_DIR) BUILDDIR=$(MTD_HOST_DIR) \
  41. -C $(MTD_HOST_DIR) sumtool
  42. mtd-host: $(MKFS_JFFS2) $(SUMTOOL)
  43. mtd-host-source: $(DL_DIR)/$(MTD_SOURCE)
  44. mtd-host-clean:
  45. -$(MAKE) -C $(MTD_HOST_DIR) clean
  46. mtd-host-dirclean:
  47. rm -rf $(MTD_HOST_DIR)
  48. #############################################################
  49. #
  50. # build mtd for use on the target system
  51. #
  52. #############################################################
  53. $(MTD_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE)
  54. $(MTD_CAT) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
  55. mv $(BUILD_DIR)/$(MTD_NAME) $(MTD_DIR)
  56. toolchain/patch-kernel.sh $(MTD_DIR) package/mtd/mtd-utils mtd-utils-$(MTD_VERSION)-all\*.patch
  57. toolchain/patch-kernel.sh $(MTD_DIR) package/mtd/mtd-utils mtd-utils-$(MTD_VERSION)-target\*.patch
  58. touch $@
  59. MTD_TARGETS_n :=
  60. MTD_TARGETS_y :=
  61. MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_ERASE) += flash_erase
  62. MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_ERASEALL) += flash_eraseall
  63. MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_INFO) += flash_info
  64. MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_LOCK) += flash_lock
  65. MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_UNLOCK) += flash_unlock
  66. MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASHCP) += flashcp
  67. MTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSJFFS2) += mkfs.jffs2
  68. MTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSJFFS) += mkfs.jffs
  69. MTD_TARGETS_$(BR2_PACKAGE_MTD_JFFS2DUMP) += jffs2dump
  70. #MTD_TARGETS_$(BR2_PACKAGE_MTD_JFFS3DUMP) += jffs3dump
  71. MTD_TARGETS_$(BR2_PACKAGE_MTD_SUMTOOL) += sumtool
  72. MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_CHECK) += ftl_check
  73. MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_FORMAT) += ftl_format
  74. MTD_TARGETS_$(BR2_PACKAGE_MTD_NFTLDUMP) += nftldump
  75. MTD_TARGETS_$(BR2_PACKAGE_MTD_NFTL_FORMAT) += nftl_format
  76. MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDDUMP) += nanddump
  77. MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDWRITE) += nandwrite
  78. MTD_TARGETS_$(BR2_PACKAGE_MTD_MTD_DEBUG) += mtd_debug
  79. MTD_TARGETS_$(BR2_PACKAGE_MTD_DOCFDISK) += docfdisk
  80. MTD_TARGETS_$(BR2_PACKAGE_MTD_DOC_LOADBIOS) += doc_loadbios
  81. MTD_BUILD_TARGETS := $(addprefix $(MTD_DIR)/, $(MTD_TARGETS_y))
  82. $(MTD_BUILD_TARGETS): $(MTD_DIR)/.unpacked
  83. mkdir -p $(TARGET_DIR)/usr/sbin
  84. $(MAKE) CFLAGS="-I. -I./include -I$(LINUX_HEADERS_DIR)/include -I$(STAGING_DIR)/usr/include $(TARGET_CFLAGS)" \
  85. LDFLAGS="$(TARGET_LDFLAGS)" \
  86. BUILDDIR=$(MTD_DIR) \
  87. CROSS=$(TARGET_CROSS) CC=$(TARGET_CC) LINUXDIR=$(LINUX26_DIR) WITHOUT_XATTR=1 -C $(MTD_DIR)
  88. MTD_TARGETS := $(addprefix $(TARGET_DIR)/usr/sbin/, $(MTD_TARGETS_y))
  89. $(MTD_TARGETS): $(TARGET_DIR)/usr/sbin/% : $(MTD_DIR)/%
  90. cp -f $< $@
  91. $(STRIPCMD) $@
  92. mtd: zlib $(MTD_TARGETS)
  93. mtd-source: $(DL_DIR)/$(MTD_SOURCE)
  94. mtd-clean:
  95. -$(MAKE) -C $(MTD_DIR) clean
  96. mtd-dirclean:
  97. rm -rf $(MTD_DIR)
  98. #############################################################
  99. #
  100. # Toplevel Makefile options
  101. #
  102. #############################################################
  103. ifeq ($(BR2_PACKAGE_MTD),y)
  104. TARGETS+=mtd
  105. endif