commit | bb2bba1997975e32fac66b6e2808b330bbb06b64 | [log] [tgz] |
---|---|---|
author | Colin Cross <ccross@android.com> | Mon Jul 20 16:31:18 2015 -0700 |
committer | Colin Cross <ccross@android.com> | Mon Jul 20 16:34:05 2015 -0700 |
tree | 1e28fcd4bdfe245af7403481ff2cff1101f17221 | |
parent | f92954f49fbbb834c835453a3e8de54a43cd16dc [diff] |
[C++] ninja: allow specifying output directory for ninja files Allow passing --ninja_dir to set the directory where build.ninja and ninja.sh will be run from. Also remove the cd $(dirname $0) from ninja.sh, to allow the caller to set the current directory.
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.