commit | cca8cdb993d92f953274f0b16b7644d096d71351 | [log] [tgz] |
---|---|---|
author | Anton Hansson <hansson@google.com> | Mon Oct 28 11:30:40 2019 +0000 |
committer | Anton Hansson <hansson@google.com> | Wed Oct 30 14:29:42 2019 +0000 |
tree | 0847fc01a7ee8cc1f8e4a569675e5d1f631ac19d | |
parent | 21403dc2df7a729db93e0d932a5355a5b96da6e2 [diff] |
Ensure current product use PRODUCT_* vars directly Disallow use of the long-form PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_* after the short-form has been assigned, to ensure modifications are made to the right variable. Macros that need to work with multiple products get a convenience macro that is redefined at the right moment. Test: compare_target_files Test: build_test Change-Id: Ib0e57b1bc51b1f308296a150b9b7590a0bb5c313
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.