desktop: Pass in missing firmware dependency to pack_image

The recovery and update targets had a transitive dependncy on the
firmware targets. They were relying on the fact that the
`prebuilt-XXXX-firmware-image` was added as a `PRODUCT_PACKAGE` which
ensured the target was built beforehand. We don't actually want the
firmware.img added into the OS image since it's not used.

This change makes it so that the the recovery and update images directly
depend on the `gen-XXXX-firmware-image` genrule. This will allow us to
remove the `prebuilt-XXXX-firmware-image` `prebuilt_etc` target and drop
the hard coded path to the outputs.

In a followup CL I will merge all the `gen-XXXX-firmware-images` into a
single `desktop-firmware-squashfs` genrule. I will do this once all
devices are using the firmware shellball.

Output of pack_image:
```
>> Writing out/target/product/brya/obj/ETC/gen-brya-firmware-image_intermediates/gen-brya-firmware-image to out/target/product/brya/android-desktop_update_image.bin in partition 5
+ dd if=out/target/product/brya/obj/ETC/gen-brya-firmware-image_intermediates/gen-brya-firmware-image of=out/target/product/brya/android-desktop_update_image.bin oflag=seek_bytes bs=4M seek=9336520704 conv=notrunc
64+1 records in
64+1 records out
```

Bug: 419155941
Test: m installclean && m out/target/product/brya/android-desktop_recovery_image.bin
Flag: EXEMPT desktop only
Change-Id: Ib56f14403d0fb712d03166f15992572d73f65567
1 file changed
tree: 26e48d7c5dce4d587fafcac2c7207040fc15e319
  1. backported_fixes/
  2. ci/
  3. common/
  4. core/
  5. packaging/
  6. target/
  7. teams/
  8. tests/
  9. tools/
  10. .gitignore
  11. Android.bp
  12. banchanHelp.sh
  13. buildspec.mk.default
  14. Changes.md
  15. CleanSpec.mk
  16. Deprecation.md
  17. envsetup.sh
  18. help.sh
  19. navbar.md
  20. OWNERS
  21. PREUPLOAD.cfg
  22. rbesetup.sh
  23. README.md
  24. shell_utils.sh
  25. tapasHelp.sh
  26. Usage.txt
README.md

Android Make Build System

This is the Makefile-based portion of the Android Build System.

For documentation on how to run a build, see Usage.txt

For a list of behavioral changes useful for Android.mk writers see Changes.md

For an outdated reference on Android.mk files, see build-system.html. Our Android.mk files look similar, but are entirely different from the Android.mk files used by the NDK build system. When searching for documentation elsewhere, ensure that it is for the platform build system -- most are not.

This Makefile-based system is in the process of being replaced with Soong, a new build system written in Go. During the transition, all of these makefiles are read by Kati, and generate a ninja file instead of being executed directly. That's combined with a ninja file read by Soong so that the build graph of the two systems can be combined and run as one.