| commit | 3a830926768865b904c44e57d04eafda0543252f | [log] [tgz] |
|---|---|---|
| author | Raul E Rangel <rrangel@google.com> | Tue May 20 15:12:31 2025 -0600 |
| committer | Raul E Rangel <rrangel@google.com> | Wed May 21 13:10:12 2025 -0600 |
| tree | 26e48d7c5dce4d587fafcac2c7207040fc15e319 | |
| parent | 229e65bafd87d8802e989d373cf530becd94c453 [diff] |
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
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.