674952098b
These centralize the decisions on whether to build certain images or not, and allow the product definition to override that choice. There are a few use cases here: * For GSI-like cases, we only want to build the system image. This didn't really change, but it's somewhat simpler to configure, and easier to understand the build logic. * On the opposite side, when you're planning on using a GSI, the device specific build can only build the vendor images (or some other set). * Some cases (Fuchsia, etc) don't want to build any images, as they'll be distributing the build artifacts in their own packaging. I suspect in the future, TARGET_BUILD_APPS may be able to be refactored into the third use case. Test: treehugger Test: Create a product definition that includes nothing, try to build it. Test: compare build-aosp_crosshatch.ninja and build-crosshatch.ninja before/after Change-Id: I685ab841be3718d3dd7052c28ccd764bb6f1991a |
||
---|---|---|
common | ||
core | ||
packaging | ||
target | ||
tests | ||
tools | ||
.gitignore | ||
Changes.md | ||
CleanSpec.mk | ||
OWNERS | ||
README.md | ||
Usage.txt | ||
buildspec.mk.default | ||
envsetup.sh | ||
help.sh | ||
navbar.md | ||
tapasHelp.sh |
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.