commit | d72dd1e220c4bcd69579590c49ef345de3766bda | [log] [tgz] |
---|---|---|
author | Colin Cross <ccross@android.com> | Mon Oct 26 16:43:39 2015 -0700 |
committer | Colin Cross <ccross@android.com> | Mon Oct 26 16:44:04 2015 -0700 |
tree | 2b2bc9a8cc66b65a08e5128f4097cda2f5888f34 | |
parent | f39f4f76b603a6e1e10e3b3e65698a1864825591 [diff] | |
parent | 4421dda489d793ea1a59b1acf460b540b3b4174b [diff] |
Merge remote-tracking branch 'aosp/upstream' into kati 4421dda [C++] ifdef should fail when there are multiple variables 407d8d4 [C++] Resolve symlinks in the top directory 31505ba [C++] Fix find -name for symlinks f2d3172 [C++] Fix a memory corruption 6ce977d [C++] Regenerate ninja files when symlink was changed 9c5ec1d [go] Mark find_command.mk and wildcard.mk as FAIL b717561 [C++] Make FindEmulator's symlink support better 14ea0f1 [C++] Fix NormalizePath("../../foo") bd3bb23 [C++] Fix FindEmulator for paths in symlinks c58db99 [C++] Make the fast pass of EscapeShell consistent with the rest 5de5826 [C++] Do not escape ! in a shell script 71cf60b [C++] Stop using realpath(1) to handle $(realpath) in recipe cb4724e [C++] Fix realpath implementation for multiple parameters 34556cc [C++] Do not find first Makefile when -f is specified 171dc82 [C++] Make the output of find_test compatible with find(1) 680e98b Exit 1 in runtest.rb 9fe05bf Install realpath 9d918f8 Remove ninja_normalized_path2.mk 212b7a5 [C++] Fix a off-by-one error in StripShellComment d0251f7 Change the shell in Travis CI to bash 0613e01 Revert "Always use SHELL=/bin/bash in our test" a73e93b Always use SHELL=/bin/bash in our test b7be8f1 [C++] Fix err_include.mk for -c -n 3c60c12 [C++] Fix err_include.mk e3c6231 Install ninja-build on Travis CI Bug: 24580686 Change-Id: I2419d78affcd4cfd1de284a7dc79c0e8a4535fc9
kati is an experimental GNU make clone. The main goal of this tool is to speed-up incremental build of Android.
Currently, kati does not offer a faster build by itself. It instead converts your Makefile to a ninja file.
Now AOSP has kati and ninja, so all you have to do is
% export USE_NINJA=true
All Android's build commands (m, mmm, mmma, etc.) should just work.
Set up kati:
% cd ~/src % git clone https://github.com/google/kati % cd kati % make
Build Android:
% cd <android-directory> % source build/envsetup.sh % lunch <your-choice> % ~/src/kati/m2n --kati_stats # Use --goma if you are a Googler. % ./ninja.sh
You need ninja in your $PATH.
% ./ninja.sh -t clean
Note ./ninja.sh passes all parameters to ninja.
For example, the following is equivalent to “make cts”:
% ./ninja.sh cts
Or, if you know the path you want, you can do:
% ./ninja.sh out/host/linux-x86/bin/adb