commit | ec5ca2cf3ed9a2d8e3641c42f0533ea8c4645e2b | [log] [tgz] |
---|---|---|
author | Dan Willemsen <dwillemsen@google.com> | Sun Jun 10 21:27:16 2018 -0700 |
committer | Dan Willemsen <dwillemsen@google.com> | Mon Jun 11 14:52:17 2018 -0700 |
tree | 848223b310dcdc0a23c354530a0b6b97a5269edc | |
parent | cf1fa88b95cc6b5006d8fe3d0e1c5ed7cccecc41 [diff] |
Don't emit special targets These aren't emitted in the ninja file already, don't consider them in DepNodes unless they're an explicit dependency. This makes it so that we don't need to artificially mark these as PHONY targets to make my other checks happy. Change-Id: Ibe8dbf971341e2d50f66d048afb4a34cde83a5eb
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