commit | 91b21a2c7127fa363d9c818ad58e53ed10be779c | [log] [tgz] |
---|---|---|
author | Colin Cross <ccross@android.com> | Mon May 30 21:55:19 2016 +0000 |
committer | android-build-merger <android-build-merger@google.com> | Mon May 30 21:55:19 2016 +0000 |
tree | a00ee4a558330113761d89371b196614820e6d94 | |
parent | c55db6f07ed5c2acf60802526b5f868d26a99c04 [diff] | |
parent | 511d428ccd375400ee5330beddadd8739962861e [diff] |
Merge remote-tracking branch \'aosp/upstream\' into master am: ff2d59e2e0 am: 2ca84c70fc am: 32b10dc028 am: 511d428ccd * commit '511d428ccd375400ee5330beddadd8739962861e': (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: I11f111b1919c76624437e45f0ac2f148671af69e
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