commit | a4155e8512fa66e431833b1399be6c2c55ce8f65 | [log] [tgz] |
---|---|---|
author | Dan Willemsen <dwillemsen@google.com> | Mon Apr 09 16:30:06 2018 -0700 |
committer | Dan Willemsen <dwillemsen@google.com> | Mon Apr 09 16:30:06 2018 -0700 |
tree | bc76fed6b16aa432fa8b9ca15d73068475c49126 | |
parent | 5c19615b551e7de506e42d6127a05693c7aa04fd [diff] |
Delay eval to save memory use in create-suite-dependencies Instead of passing the entire contents of $(COMPATIBILITY.$(suite).FILES) to eval, which may keep that string around, delay the evaluation of that, and the new files until inside the eval. This saves ~2.8GB: 7.4GB -> 4.6GB of ckati max resident memory for a relatively small internal build. It also saves ~10% of the makefile loading time (81 -> 73 seconds). Test: build-aosp_arm.ninja is identical Change-Id: If45a4796f1bbf6d67dff388ea877a6115a4e06f4
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.