commit | 725aab2c83c61e04c6224d8cc4990fd01f7860b0 | [log] [tgz] |
---|---|---|
author | Cole Faust <colefaust@google.com> | Tue Mar 08 18:29:17 2022 -0800 |
committer | Cole Faust <colefaust@google.com> | Thu Mar 10 16:59:00 2022 -0800 |
tree | b60218222391dd0436fe1e2509e6fbb28772b1b0 | |
parent | 22e398c08db481b8fbb15ccabbd925b8e79a1892 [diff] |
Make inherit-product loop over all files passed to it Currently inherit-product and the rest of the product configuration infrastructure does not handle wildcards. However, they still get passed through unchanged, until they reach the raw Make include statement, which expands them. This essentially makes a meta-product that is the result of combining all the makefiles that were matched. In Starlark, the behavior is to actually treat each file as it's own product. This causes a discrepency when using `m product-graph`, where make shows one node for all those files and Stalark has a node for each. This is probably unintentional behavior, so change Make to also import each file as separate products. On the product I was investigating, the only difference this made in the ninja file was in the product graph. Bug: 221312856 Test: Presubmits Change-Id: I9ca7aff0b0790aeb6e42861ce2745feed8a1a7c4
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.