• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1kati
2====
3
4[![Build Status](https://travis-ci.org/google/kati.svg?branch=master)](http://travis-ci.org/google/kati)
5
6kati is an experimental GNU make clone.
7The main goal of this tool is to speed-up incremental build of Android.
8
9Currently, kati does not offer a faster build by itself. It instead converts
10your Makefile to a ninja file.
11
12How to use for Android
13----------------------
14
15For Android-N+, ckati and ninja is used automatically. There is a prebuilt
16checked in under prebuilts/build-tools that is used.
17
18All Android's build commands (m, mmm, mmma, etc.) should just work.
19
20How to use for Android (deprecated -- only for Android M or earlier)
21----------------------
22
23Set up kati:
24
25    % cd ~/src
26    % git clone https://github.com/google/kati
27    % cd kati
28    % make
29
30Build Android:
31
32    % cd <android-directory>
33    % source build/envsetup.sh
34    % lunch <your-choice>
35    % ~/src/kati/m2n --kati_stats
36    % ./ninja.sh
37
38You need ninja in your $PATH.
39
40More usage examples (deprecated way)
41-------------------
42
43### "make clean"
44
45    % ./ninja.sh -t clean
46
47Note ./ninja.sh passes all parameters to ninja.
48
49### Build a specific target
50
51For example, the following is equivalent to "make cts":
52
53    % ./ninja.sh cts
54
55Or, if you know the path you want, you can do:
56
57    % ./ninja.sh out/host/linux-x86/bin/adb
58