| ############################################################# |
| # |
| # mtd provides jffs2 utilities |
| # |
| ############################################################# |
| ifeq ($(strip $(BR2_PACKAGE_MTD_SNAPSHOT)),y) |
| # Be aware that this changes daily.... |
| TODAY:=$(shell date -u +%Y%m%d) |
| MTD_DL_SOURCE:=mtd-snapshot-$(TODAY).tar.bz2 |
| MTD_CAT:=$(BZCAT) |
| MTD_SOURCE:=mtd-snapshot.tar.bz2 |
| MTD_SITE:=ftp://ftp.uk.linux.org/pub/people/dwmw2/mtd/cvs |
| MTD_HOST_DIR := $(TOOL_BUILD_DIR)/mtd_snapshot |
| MTD_DIR:=$(BUILD_DIR)/mtd_snapshot |
| else |
| MTD_SOURCE:=$(strip $(subst ",, $(BR2_PACKAGE_MTD_ORIG_STRING))) |
| #")) |
| MTD_SITE:=http://ftp.debian.org/debian/pool/main/m/mtd |
| MTD_HOST_DIR := $(TOOL_BUILD_DIR)/mtd_orig |
| MTD_DIR:=$(BUILD_DIR)/mtd_orig |
| MTD_CAT:=$(ZCAT) |
| endif |
| |
| |
| |
| ############################################################# |
| # |
| # Build mkfs.jffs2 for use on the local host system if |
| # needed by target/jffs2root. |
| # |
| ############################################################# |
| MKFS_JFFS2 := $(MTD_HOST_DIR)/util/mkfs.jffs2 |
| |
| ifeq ($(strip $(BR2_PACKAGE_MTD_SNAPSHOT)),y) |
| $(DL_DIR)/$(MTD_SOURCE): |
| $(WGET) -P $(DL_DIR) $(MTD_SITE)/$(MTD_DL_SOURCE) |
| mv $(DL_DIR)/$(MTD_DL_SOURCE) $(DL_DIR)/$(MTD_SOURCE) |
| |
| $(MTD_HOST_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE_GENERIC) |
| $(MTD_CAT) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) - |
| mv $(TOOL_BUILD_DIR)/$(shell tar tjf $(DL_DIR)/$(MTD_SOURCE) \ |
| | head -n 1 | xargs basename) $(MTD_HOST_DIR) |
| touch $@ |
| else |
| ifneq ($(MTD_SOURCE),) |
| $(DL_DIR)/$(MTD_SOURCE): |
| $(WGET) -P $(DL_DIR) $(MTD_SITE)/$(MTD_SOURCE) |
| endif |
| |
| $(MTD_HOST_DIR)/.unpacked: $(DL_DIR)/$(MTD_SOURCE) |
| $(MTD_CAT) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) - |
| mv $(TOOL_BUILD_DIR)/$(shell tar tzf $(DL_DIR)/$(MTD_SOURCE) | head -n 1 \ |
| | xargs basename) $(MTD_HOST_DIR) |
| toolchain/patch-kernel.sh $(MTD_HOST_DIR) package/mtd \*.patch |
| touch $@ |
| endif |
| |
| $(MTD_HOST_DIR)/util/mkfs.jffs2: $(MTD_HOST_DIR)/.unpacked |
| CFLAGS=-I$(LINUX_HEADERS_DIR)/include $(MAKE) CC="$(HOSTCC)" CROSS= \ |
| LINUXDIR=$(LINUX_DIR) -C $(MTD_HOST_DIR)/util mkfs.jffs2 |
| |
| 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)/.unpacked: $(DL_DIR)/$(MTD_SOURCE) |
| $(MTD_CAT) $(DL_DIR)/$(MTD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - |
| ifeq ($(strip $(BR2_PACKAGE_MTD_SNAPSHOT)),y) |
| mv $(BUILD_DIR)/$(shell tar tjf $(DL_DIR)/$(MTD_SOURCE) \ |
| | head -n 1 | xargs basename) $(MTD_DIR) |
| touch $@ |
| else |
| mv $(BUILD_DIR)/$(shell tar tzf $(DL_DIR)/$(MTD_SOURCE) \ |
| | head -n 1 | xargs basename) $(MTD_DIR) |
| toolchain/patch-kernel.sh $(MTD_DIR) \ |
| package/mtd \*.patch |
| touch $@ |
| endif |
| |
| 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_JFFS3DUMP) += jffs3dump |
| MTD_TARGETS_$(BR2_PACKAGE_MTD_SUMTOOL) += sumtool |
| 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_NANDDUMP) += 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 |
| $(MAKE) $(TARGET_CONFIGURE_OPTS) \ |
| CFLAGS+="-I$(MTD_DIR)/include" \ |
| CFLAGS+="-I$(LINUX_HEADERS_DIR)/include" \ |
| 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/% |
| mkdir -p $(TARGET_DIR)/usr/sbin |
| cp -f $< $@ |
| $(STRIP) $@ |
| ifneq ($(BR2_PACKAGE_MTD_FLASHCP),) |
| -ln -sf flashcp $(TARGET_DIR)/usr/sbin/fcp |
| endif |
| ifneq ($(BR2_PACKAGE_MTD_ERASE),) |
| -ln -sf flash_erase $(TARGET_DIR)/usr/sbin/erase |
| -ln -sf flash_eraseall $(TARGET_DIR)/usr/sbin/eraseall |
| endif |
| |
| mtd: zlib $(MTD_TARGETS) |
| |
| mtd-source: $(DL_DIR)/$(MTD_SOURCE) |
| |
| mtd-clean: |
| -$(MAKE) -C $(MTD_DIR) clean |
| ifneq ($(BR2_PACKAGE_MTD_FLASHCP),) |
| -rm -f $(MTD_TARGETS) $(TARGET_DIR)/usr/sbin/fcp |
| endif |
| ifneq ($(BR2_PACKAGE_MTD_ERASE),) |
| -rm -f $(MTD_TARGETS) $(TARGET_DIR)/usr/sbin/erase |
| -rm -f $(MTD_TARGETS) $(TARGET_DIR)/usr/sbin/eraseall |
| endif |
| |
| mtd-dirclean: |
| rm -rf $(MTD_DIR) |
| |
| |
| ############################################################# |
| # |
| # Toplevel Makefile options |
| # |
| ############################################################# |
| ifeq ($(strip $(BR2_PACKAGE_MTD)),y) |
| TARGETS+=mtd |
| endif |