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