summaryrefslogtreecommitdiff
path: root/package/mtd/mtd.mk
diff options
context:
space:
mode:
Diffstat (limited to 'package/mtd/mtd.mk')
-rw-r--r--package/mtd/mtd.mk147
1 files changed, 143 insertions, 4 deletions
diff --git a/package/mtd/mtd.mk b/package/mtd/mtd.mk
index f81ea1888..99bdfa752 100644
--- a/package/mtd/mtd.mk
+++ b/package/mtd/mtd.mk
@@ -1,6 +1,145 @@
-ifeq ($(BR2_PACKAGE_MTD_UTILS),y)
-include package/mtd/mtd-utils/mtd.mk
+#############################################################
+#
+# mtd provides jffs2 utilities
+#
+#############################################################
+MTD_VERSION:=1.3.1
+MTD_SOURCE:=mtd-utils-$(MTD_VERSION).tar.bz2
+MTD_SITE:=ftp://ftp.infradead.org/pub/mtd-utils
+MTD_NAME:=mtd-utils-$(MTD_VERSION)
+MTD_HOST_DIR:= $(TOOLCHAIN_DIR)/$(MTD_NAME)
+MTD_DIR:=$(BUILD_DIR)/$(MTD_NAME)
+MTD_CAT:=$(BZCAT)
+
+#############################################################
+#
+# Build mkfs.jffs2 and sumtool for use on the local host system if
+# needed by target/jffs2root.
+#
+#############################################################
+MKFS_JFFS2 := $(MTD_HOST_DIR)/mkfs.jffs2
+SUMTOOL := $(MTD_HOST_DIR)/sumtool
+
+$(DL_DIR)/$(MTD_SOURCE):
+ $(call DOWNLOAD,$(MTD_SITE),$(MTD_SOURCE))
+
+$(MTD_HOST_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE)
+ $(MTD_CAT) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(TOOLCHAIN_DIR) $(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(MTD_HOST_DIR) \
+ package/mtd/ mtd-utils-\*.patch
+ touch $@
+
+$(MKFS_JFFS2): $(MTD_HOST_DIR)/.unpacked
+ CC="$(HOSTCC)" CROSS= $(MAKE) BUILDDIR=$(MTD_HOST_DIR) \
+ WITHOUT_XATTR=1 -C $(MTD_HOST_DIR) $(MTD_HOST_DIR)/mkfs.jffs2
+
+$(SUMTOOL): $(MTD_HOST_DIR)/.unpacked
+ CC="$(HOSTCC)" CROSS= $(MAKE) BUILDDIR=$(MTD_HOST_DIR) \
+ WITHOUT_XATTR=1 -C $(MTD_HOST_DIR) $(MTD_HOST_DIR)/sumtool
+
+mtd-host: host-lzo $(MKFS_JFFS2) $(SUMTOOL)
+
+mtd-host-source: $(DL_DIR)/$(MTD_SOURCE)
+
+mtd-host-clean:
+ -$(MAKE) -C $(MTD_HOST_DIR) clean
+
+mtd-host-dirclean:
+ rm -rf $(MTD_HOST_DIR)
+
+#############################################################
+#
+# build mtd for use on the target system
+#
+#############################################################
+$(MTD_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE)
+ $(MTD_CAT) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(MTD_DIR) package/mtd/ mtd-utils-\*.patch
+ touch $@
+
+MTD_TARGETS_$(BR2_PACKAGE_MTD_DOCFDISK) += docfdisk
+MTD_TARGETS_$(BR2_PACKAGE_MTD_DOC_LOADBIOS) += doc_loadbios
+MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASHCP) += flashcp
+MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_ERASE) += flash_erase
+MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_ERASEALL) += flash_eraseall
+MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_INFO) += flash_info
+MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_LOCK) += flash_lock
+MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_DUMP) += flash_otp_dump
+MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_OTP_INFO) += flash_otp_info
+MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASH_UNLOCK) += flash_unlock
+MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_CHECK) += ftl_check
+MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_FORMAT) += ftl_format
+MTD_TARGETS_$(BR2_PACKAGE_MTD_JFFS2DUMP) += jffs2dump
+MTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSJFFS2) += mkfs.jffs2
+MTD_TARGETS_$(BR2_PACKAGE_MTD_MTD_DEBUG) += mtd_debug
+MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDDUMP) += nanddump
+MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDTEST) += nandtest
+MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDWRITE) += nandwrite
+MTD_TARGETS_$(BR2_PACKAGE_MTD_NFTLDUMP) += nftldump
+MTD_TARGETS_$(BR2_PACKAGE_MTD_NFTL_FORMAT) += nftl_format
+MTD_TARGETS_$(BR2_PACKAGE_MTD_RECV_IMAGE) += recv_image
+MTD_TARGETS_$(BR2_PACKAGE_MTD_RFDDUMP) += rfddump
+MTD_TARGETS_$(BR2_PACKAGE_MTD_RFDFORMAT) += rfdformat
+MTD_TARGETS_$(BR2_PACKAGE_MTD_SERVE_IMAGE) += serve_image
+MTD_TARGETS_$(BR2_PACKAGE_MTD_SUMTOOL) += sumtool
+
+MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_MTDINFO) += mtdinfo
+MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIATTACH) += ubiattach
+MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBICRC32) += ubicrc32
+MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIDETACH) += ubidetach
+MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIFORMAT) += ubiformat
+MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIMKVOL) += ubimkvol
+MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBINFO) += ubinfo
+MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBINIZE) += ubinize
+MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIRENAME) += ubirename
+MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIRMVOL) += ubirmvol
+MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIRSVOL) += ubirsvol
+MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIUPDATEVOL) += ubiupdatevol
+
+MTD_TARGETS := $(addprefix $(MTD_DIR)/, $(MTD_TARGETS_y))
+MTD_UBI_TARGETS := $(addprefix $(MTD_DIR)/ubi-utils/, $(MTD_TARGETS_UBI_y))
+MTD_BUILD_TARGETS := $(MTD_TARGETS) $(MTD_UBI_TARGETS)
+
+$(MTD_BUILD_TARGETS): $(MTD_DIR)/.unpacked
+ifneq ($(MTD_TARGETS),)
+ $(MAKE) LDFLAGS="$(TARGET_LDFLAGS)" \
+ BUILDDIR=$(MTD_DIR) \
+ CROSS=$(TARGET_CROSS) CC=$(TARGET_CC) \
+ WITHOUT_XATTR=1 WITHOUT_LARGEFILE=1 \
+ -C $(MTD_DIR) $(MTD_TARGETS)
endif
-ifeq ($(BR2_PACKAGE_MTD_UTILS_GIT),y)
-include package/mtd/mtd-utils.git/mtd.mk
+ifneq ($(MTD_UBI_TARGETS),)
+ $(MAKE) LDFLAGS="$(TARGET_LDFLAGS)" \
+ BUILDDIR=$(MTD_DIR)/ubi-utils \
+ CROSS=$(TARGET_CROSS) CC=$(TARGET_CC) \
+ WITHOUT_XATTR=1 WITHOUT_LARGEFILE=1 \
+ -C $(MTD_DIR)/ubi-utils $(MTD_UBI_TARGETS)
+endif
+
+MTD_TARGET_BINS := $(addprefix $(TARGET_DIR)/usr/sbin/,\
+ $(MTD_TARGETS_y) $(MTD_TARGETS_UBI_y))
+
+$(MTD_TARGET_BINS): $(MTD_BUILD_TARGETS)
+ mkdir -p $(TARGET_DIR)/usr/sbin
+ $(INSTALL) -m 0755 $^ $(TARGET_DIR)/usr/sbin
+
+mtd: zlib lzo $(MTD_TARGET_BINS)
+
+mtd-source: $(DL_DIR)/$(MTD_SOURCE)
+
+mtd-clean:
+ -$(MAKE) -C $(MTD_DIR) clean
+ rm -f $(MTD_TARGET_BINS)
+
+mtd-dirclean:
+ rm -rf $(MTD_DIR)
+
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(BR2_PACKAGE_MTD),y)
+TARGETS+=mtd
endif