How to resolve dependency issue when building image?

Hi All,

At my own developing project, we try to create linux and sd card image for different purposes.

   IMAGES := vmlinux.txt sysupgrade.img  sysupgrade-with-uboot.img
   IMAGE/vmlinux.txt := build-linux-objdump
   IMAGE/sysupgrade.img := prepare-binarys | build-linux-by-mergy-py | append-metadata
   IMAGE/sysupgrade-with-uboot.img := prepare-binarys | \
          build-linux-by-mergy-py-with-uboot | append-metadata

At function prepare-binarys, we try to prepare uImage and rootfs with gzip for following pack function.
Q: Is there a way to make sure OpenWrt will call prepare-binarys once and after vmlinux? than, we just call build-linux-by-mergy-py to create images.
Please help. Thanks.

Anyone can help? Thanks.