commit | 511d428ccd375400ee5330beddadd8739962861e | [log] [tgz] |
---|---|---|
author | Shinichiro Hamaji <shinichiro.hamaji@gmail.com> | Mon May 30 21:51:24 2016 +0000 |
committer | android-build-merger <android-build-merger@google.com> | Mon May 30 21:51:24 2016 +0000 |
tree | a00ee4a558330113761d89371b196614820e6d94 | |
parent | 32e47472ffe1fbae41c7fb1b2806eaab4a2baabe [diff] | |
parent | 32b10dc02806b70ffdad7a6e3c5b767c5a6de507 [diff] |
Merge remote-tracking branch \'aosp/upstream\' into master am: ff2d59e2e0 am: 2ca84c70fc am: 32b10dc028 * commit '32b10dc02806b70ffdad7a6e3c5b767c5a6de507': (35 commits) Handle nested define/endef Update findleaves.py and add a few testcases [C++] Add support for multiple filenames to findleaves emulation Support all kinds of command line variables Allow NULL filename for -d flag [C++] Add -d flag to make debugging slightly easier Normalize log for recent ninja Always sort glob results Skip 3 tests which fail with make 4 Skip shell_var_with_args.mk with GNU make 4 Use override in posix_var.mk to fix test with make 4 Stop overwriting /bin/sh by bash on travis Normalize Unicode quotes for recent find Explicitly use SHELL=/bin/bash [C++] Stop using an uninitialized value Fix multi_implicit_output_patterns.mk for GNU make 4 Clean up normalization in runtest.rb a bit Remove test output in ckati_clean Normalize GNU make 4.00 in runtest.rb Suppress GNU make jobserver magic in runtest.rb ... Change-Id: Ia9b00b3f24e69ead1aab269053afef6d892a30b2
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