commit | b4467960852220d4fe01163b166a76ff2d8f7c0a | [log] [tgz] |
---|---|---|
author | Dan Willemsen <dwillemsen@google.com> | Thu Aug 06 23:59:22 2015 -0700 |
committer | Dan Willemsen <dwillemsen@google.com> | Fri Aug 07 00:09:28 2015 -0700 |
tree | b9aa9f042143801354b2d81a6d8e59dfc2508534 | |
parent | f6671e47369f9f5bf1efe30cd27621050261388a [diff] |
[C++] Fix automatic variables in nested $(call An omitted argument should be blank, even if it's nested inside another call statement that did have that argument passed. Android uses missing arguments as defaults in many places.
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.
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
% ~/src/kati/m2n -j10 % ./ninja.sh
Or
% ./ninja.sh -j10
Note the latter kills the parallelism of goma.