commit | fd8c86906533fd15c3d5ae224e2c8d946a945a4b | [log] [tgz] |
---|---|---|
author | Dario Freni <dariofreni@google.com> | Fri Feb 25 13:22:15 2022 +0000 |
committer | Dario Freni <dariofreni@google.com> | Mon Mar 07 17:00:09 2022 +0000 |
tree | 9e582e850671f7c85cddd07308f014f8f176002d | |
parent | 0b6921be2bdd783adb564b09632b8fd11cff7161 [diff] |
Build modules from source by default. Most branches, most of the time, will build modules from source. By changing the default we make it easier to switch a whole branch to use module prebuilts by requiring only one CL to be committed on that branch and nowhere else. Before this change, dozens of Soong targets needed to be updated when deciding to start using prebuilts for modules and sdk stubs. In addition, the typical need is to enable prebuilts on a single branch at the time, which resulted in a dozens of "D0 N0T MERGE ANYWHERE" CLs, causing a lot of confusion. Bug: 184842499 Test: (on a branch with ModuleMetadataGoogle enabled as prebuilt): m out/target/product/sunfish/product/app/ModuleMetadataGoogle/ModuleMetadataGoogle.apk (verified with `aapt2 dump badging` that apk is built from source) MODULE_BUILD_FROM_SOURCE=false m out/target/product/sunfish/product/app/ModuleMetadataGoogle/ModuleMetadataGoogle.apk (verified with `aapt2 dump badging` that apk is prebuilt) Change-Id: I625c48640c4bb1edf360605a1daac293a4a0a07a
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.