summaryrefslogtreecommitdiff
path: root/package/mtd/mtd.mk
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2005-01-23 11:16:11 +0000
committerEric Andersen <andersen@codepoet.org>2005-01-23 11:16:11 +0000
commitdda90723ce4a6d8c84dbf7c66ef8b2c4e5d67b2c (patch)
treea8dbd06e4860f91530b93a1c1a098aa0beff2760 /package/mtd/mtd.mk
parent7be239c03f7b5366ad0c4c118955492c1529861c (diff)
Patch from gtj: http://bugs.uclibc.org/view.php?id=40
0000040: Adds options to jffs2 filesystem creation Brings jffs2 up to the 20041007 build level so it will compile with both 2.4 and 2.6 kernels. Adds ability to specify eraseblock and pad sizes, permissions squash, big/little endian and device table in the configuration. Also adds capability to copy the resulting image to a secondary location like a tftp server's root directory. mtd.patch adds capabilities of the previously attached patch plus allows you to compile a version of the utilities to run on the target system. So now there's a set of config options under package to compile the utils for distribution to the target and a set of config options under target to create a jffs2 filesystem.
Diffstat (limited to 'package/mtd/mtd.mk')
-rw-r--r--package/mtd/mtd.mk98
1 files changed, 98 insertions, 0 deletions
diff --git a/package/mtd/mtd.mk b/package/mtd/mtd.mk
new file mode 100644
index 000000000..ea1cf31f1
--- /dev/null
+++ b/package/mtd/mtd.mk
@@ -0,0 +1,98 @@
+#############################################################
+#
+# mtd provides jffs2 utilities
+#
+#############################################################
+MTD_SOURCE=mtd_20041007.orig.tar.gz
+MTD_SITE=http://ftp.debian.org/debian/pool/main/m/mtd
+
+#############################################################
+#
+# Build mkfs.jffs2 for use on the local host system if
+# needed by target/jffs2root.
+# If /sbin/mkfs.jffs2 already exists, no make is needed
+#
+#############################################################
+MKFS_JFFS2=$(shell which mkfs.jffs2 2>/dev/null || echo $(STAGING_DIR)/bin/mkfs.jffs2)
+
+MTD_HOST_DIR := $(TOOL_BUILD_DIR)/mtd-20041007.orig
+
+$(DL_DIR)/$(MTD_SOURCE):
+ $(WGET) -P $(DL_DIR) $(MTD_SITE)/$(MTD_SOURCE)
+
+$(MTD_HOST_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE)
+ zcat $(DL_DIR)/$(MTD_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
+ touch $(MTD_HOST_DIR)/.unpacked
+
+$(MTD_HOST_DIR)/util/mkfs.jffs2: $(MTD_HOST_DIR)/.unpacked
+ CFLAGS=-I$(LINUX_HEADERS_DIR)/include \
+ $(MAKE) LINUXDIR=$(LINUX_DIR) -C $(MTD_HOST_DIR)/util mkfs.jffs2
+
+$(STAGING_DIR)/bin/mkfs.jffs2: $(MTD_HOST_DIR)/util/mkfs.jffs2
+ cp -f $(MTD_HOST_DIR)/util/mkfs.jffs2 $(STAGING_DIR)/bin
+
+mtd-host: $(MKFS_JFFS2)
+
+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:=$(BUILD_DIR)/mtd-20041007.orig
+
+$(MTD_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE)
+ zcat $(DL_DIR)/$(MTD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+ touch $(MTD_DIR)/.unpacked
+
+MTD_TARGETS_n :=
+MTD_TARGETS_y :=
+
+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_UNLOCK) += flash_unlock
+MTD_TARGETS_$(BR2_PACKAGE_MTD_FLASHCP) += flashcp
+MTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSJFFS2) += mkfs.jffs2
+MTD_TARGETS_$(BR2_PACKAGE_MTD_MKFSJFFS) += mkfs.jffs
+MTD_TARGETS_$(BR2_PACKAGE_MTD_JFFS2DUMP) += jffs2dump
+MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_CHECK) += ftl_check
+MTD_TARGETS_$(BR2_PACKAGE_MTD_FTL_FORMAT) += ftl_format
+MTD_TARGETS_$(BR2_PACKAGE_MTD_NFTLDUMP) += nftldump
+MTD_TARGETS_$(BR2_PACKAGE_MTD_NFTL_FORMAT) += nftl_format
+MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDDUMPP) += nanddump
+MTD_TARGETS_$(BR2_PACKAGE_MTD_NANDWRITE) += nandwrite
+MTD_TARGETS_$(BR2_PACKAGE_MTD_MTD_DEBUG) += mtd_debug
+MTD_TARGETS_$(BR2_PACKAGE_MTD_DOCFDISK) += docfdisk
+MTD_TARGETS_$(BR2_PACKAGE_MTD_DOC_LOADBIOS) += doc_loadbios
+
+MTD_BUILD_TARGETS := $(addprefix $(MTD_DIR)/util/, $(MTD_TARGETS_y))
+
+$(MTD_BUILD_TARGETS): $(MTD_DIR)/.unpacked
+ CFLAGS="-I$(LINUX_HEADERS_DIR)/include $(TARGET_CFLAGS)" \
+ $(MAKE) CC=$(TARGET_CC) LINUXDIR=$(LINUX_DIR) -C $(MTD_DIR)/util
+
+MTD_TARGETS := $(addprefix $(TARGET_DIR)/usr/sbin/, $(MTD_TARGETS_y))
+
+$(MTD_TARGETS): $(TARGET_DIR)/usr/sbin/% : $(MTD_DIR)/util/%
+ cp -f $< $@
+
+mtd: $(MTD_TARGETS)
+
+mtd-source: $(DL_DIR)/$(MTD_SOURCE)
+
+mtd-clean:
+ -$(MAKE) -C $(MTD_DIR) clean
+
+mtd-dirclean:
+ rm -rf $(MTD_DIR)
+
+