-define Build/gzip
- gzip -9n -c $@ $(1) > $@.new
- @mv $@.new $@
-endef
-
-define Build/jffs2
- rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 && \
- mkdir -p $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$$(dirname $(1)) && \
- cp $@ $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$(1) && \
- $(STAGING_DIR_HOST)/bin/mkfs.jffs2 --pad \
- $(if $(CONFIG_BIG_ENDIAN),--big-endian,--little-endian) \
- --squash-uids -v -e $(patsubst %k,%KiB,$(BLOCKSIZE)) \
- -o $@.new \
- -d $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 \
- 2>&1 1>/dev/null | awk '/^.+$$$$/' && \
- $(STAGING_DIR_HOST)/bin/padjffs2 $@.new -J $(patsubst %k,,$(BLOCKSIZE))
- -rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/
- @mv $@.new $@
-endef
-
-define Build/kernel-bin
- rm -f $@
- cp $< $@
-endef
-
-define Build/patch-cmdline
- $(STAGING_DIR_HOST)/bin/patch-cmdline $@ '$(CMDLINE)'
-endef
-
-define Build/append-kernel
- dd if=$(word 1,$^) $(if $(1),bs=$(1) conv=sync) >> $@
-endef
-
-define Build/append-rootfs
- dd if=$(word 2,$^) $(if $(1),bs=$(1) conv=sync) >> $@
-endef
-
-define Build/append-ubi
- sh $(TOPDIR)/scripts/ubinize-image.sh \
- $(if $(UBOOTENV_IN_UBI),--uboot-env) \
- $(if $(KERNEL_IN_UBI),--kernel $(word 1,$^)) \
- $(word 2,$^) \
- $@.tmp \
- -p $(BLOCKSIZE) -m $(PAGESIZE) -E 5 \
- $(if $(SUBPAGESIZE),-s $(SUBPAGESIZE))
- cat $@.tmp >> $@
- rm $@.tmp
-endef
-
-define Build/pad-to
- dd if=$@ of=$@.new bs=$(1) conv=sync
- mv $@.new $@
-endef
-
-define Build/pad-rootfs
- $(call prepare_generic_squashfs,$@ $(1))
-endef
-
-define Build/pad-offset
- let \
- size="$$(stat -c%s $@)" \
- pad="$(word 1, $(1))" \
- offset="$(word 2, $(1))" \
- pad="(pad - ((size + offset) % pad)) % pad" \
- newsize='size + pad'; \
- dd if=$@ of=$@.new bs=$$newsize count=1 conv=sync
- mv $@.new $@
-endef
-
-define Build/check-size
- @[ $$(($(subst k,* 1024,$(subst m, * 1024k,$(1))))) -ge "$$(stat -c%s $@)" ] || { \
- echo "WARNING: Image file $@ is too big" >&2; \
- rm -f $@; \
- }
-endef