commit | eeee13a39e6abc0764a1352d86b51061371a4f58 | [log] [tgz] |
---|---|---|
author | Dan Willemsen <dwillemsen@google.com> | Sat Jun 16 10:23:33 2018 -0700 |
committer | Dan Willemsen <dwillemsen@google.com> | Sat Jun 16 10:23:33 2018 -0700 |
tree | 6eeedb1a2a51a9ad27c65b63899713233d9bd7cc | |
parent | 7f9ceabdbdab1678ccc088966b1eb649d2b39da4 [diff] |
Fix bug around empty targets in static pattern rules Static pattern rules were being converted to implicit rules when the target list was empty, since Kati was just looking at which lists were empty to decide which type of rule it was. Instead, empty the output patterns list if we've parsed a static pattern rule without any outputs. Change-Id: Ic2273f0c1ebfae2b9cd28a40e94e14e90ac3f1b9
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