- ifneq ($(CONFIG_TARGET_ROOTFS_JFFS2),)
- define Image/mkfs/jffs2/sub
- # FIXME: removing this line will cause strange behaviour in the foreach loop below
- $(STAGING_DIR_HOST)/bin/mkfs.jffs2 $(JFFS2OPTS) -e $(patsubst %k,%KiB,$(1)) -o $(KDIR)/root.jffs2-$(1) -d $(TARGET_DIR) -v 2>&1 1>/dev/null | awk '/^.+$$$$/'
- $(call add_jffs2_mark,$(KDIR)/root.jffs2-$(1))
- $(call Image/Build,jffs2-$(1))
- endef
- define Image/mkfs/jffs2
- $(foreach SZ,$(JFFS2_BLOCKSIZE),$(call Image/mkfs/jffs2/sub,$(SZ)))
- endef
- endif
+define Image/mkfs/jffs2/sub-raw
+ $(STAGING_DIR_HOST)/bin/mkfs.jffs2 $(3) -e $(patsubst %k,%KiB,$(1)) -o $(KDIR)/root.jffs2-$(2)-raw -d $(TARGET_DIR) -v 2>&1 1>/dev/null | awk '/^.+$$$$/'
+endef
+
+define Image/mkfs/jffs2/template
+ Image/mkfs/jffs2-$(1) = $$(call Image/mkfs/jffs2/sub,$(1),$(1),$(JFFS2OPTS))
+ Image/mkfs/jffs2-$(1)-raw = $$(call Image/mkfs/jffs2/sub-raw,$(1),$(1),$(JFFS2OPTS))
+
+endef
+
+define Image/mkfs/jffs2-nand/template
+ Image/mkfs/jffs2-nand-$(1) = \
+ $$(call Image/mkfs/jffs2/sub, \
+ $(word 2,$(subst -, ,$(1))),nand-$(1), \
+ $(JFFS2OPTS) --no-cleanmarkers --pagesize=$(word 1,$(subst -, ,$(1))))
+
+endef
+
+$(eval $(foreach S,$(JFFS2_BLOCKSIZE),$(call Image/mkfs/jffs2/template,$(S))))
+$(eval $(foreach S,$(NAND_BLOCKSIZE),$(call Image/mkfs/jffs2-nand/template,$(S))))
+
+define Image/mkfs/squashfs
+ $(STAGING_DIR_HOST)/bin/mksquashfs4 $(TARGET_DIR) $(KDIR)/root.squashfs -nopad -noappend -root-owned -comp $(SQUASHFSCOMP) $(SQUASHFSOPT) -processors $(if $(CONFIG_PKG_BUILD_JOBS),$(CONFIG_PKG_BUILD_JOBS),1)
+endef
+
+# $(1): board name
+# $(2): rootfs type
+# $(3): kernel image
+ifneq ($(CONFIG_NAND_SUPPORT),)
+ define Image/Build/SysupgradeNAND
+ mkdir -p "$(KDIR_TMP)/sysupgrade-$(1)/"
+ echo "BOARD=$(1)" > "$(KDIR_TMP)/sysupgrade-$(1)/CONTROL"
+ [ -z "$(2)" ] || $(CP) "$(KDIR)/root.$(2)" "$(KDIR_TMP)/sysupgrade-$(1)/root"
+ [ -z "$(3)" ] || $(CP) "$(3)" "$(KDIR_TMP)/sysupgrade-$(1)/kernel"
+ (cd "$(KDIR_TMP)"; $(TAR) cvf \
+ "$(BIN_DIR)/$(IMG_PREFIX)-$(1)-$(2)-sysupgrade.tar" sysupgrade-$(1))
+ endef
+
+# $(1) board name
+# $(2) ubinize-image options (e.g. --uboot-env and/or --kernel kernelimage)
+# $(3) rootfstype (e.g. squashfs or ubifs)
+# $(4) options to pass-through to ubinize (i.e. $($(PROFILE)_UBI_OPTS)))
+ define Image/Build/UbinizeImage
+ sh $(TOPDIR)/scripts/ubinize-image.sh $(2) \
+ "$(KDIR)/root.$(3)" \
+ "$(KDIR)/$(IMG_PREFIX)-$(1)-$(3)-ubinized.bin" \
+ $(4)
+ endef
+
+endif