+DEVICE_VARS += DAP_SIGNATURE SEAMA_SIGNATURE
+
+define Build/mkbuffaloimg
+ $(STAGING_DIR_HOST)/bin/mkbuffaloimg -B $(BOARDNAME) \
+ -R $$(($(subst k, * 1024,$(ROOTFS_SIZE)))) \
+ -K $$(($(subst k, * 1024,$(KERNEL_SIZE)))) \
+ -i $@ -o $@.new
+ mv $@.new $@
+endef
+
+define Build/mkwrggimg
+ $(STAGING_DIR_HOST)/bin/mkwrggimg -b \
+ -i $@ -o $@.imghdr -d /dev/mtdblock/1 \
+ -m $(BOARDNAME) -s $(DAP_SIGNATURE) \
+ -v LEDE -B $(REVISION)
+ mv $@.imghdr $@
+endef
+
+define Build/seama
+ $(STAGING_DIR_HOST)/bin/seama -i $@ $(if $(1),$(1),-m "dev=/dev/mtdblock/1" -m "type=firmware")
+ mv $@.seama $@
+endef
+
+define Build/seama-seal
+ $(call Build/seama,-s $@.seama $(1))
+endef
+
+define Build/uImageHiWiFi
+ # Field ih_name needs to start with "tw150v1"
+ mkimage -A $(LINUX_KARCH) \
+ -O linux -T kernel \
+ -C $(1) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
+ -n 'tw150v1 $(call toupper,$(LINUX_KARCH)) LEDE Linux-$(LINUX_VERSION)' -d $@ $@.new
+ @mv $@.new $@
+endef
+
+define Build/wrgg-pad-rootfs
+ $(STAGING_DIR_HOST)/bin/padjffs2 $(IMAGE_ROOTFS) -c 64 >>$@
+endef
+
+