You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sandy ec51644259 pl283 349pulus 7 release code 4 years ago
..
cmd/kati pl283 349pulus 7 release code 4 years ago
make-c pl283 349pulus 7 release code 4 years ago
testcase pl283 349pulus 7 release code 4 years ago
.clang-format pl283 349pulus 7 release code 4 years ago
.travis.yml pl283 349pulus 7 release code 4 years ago
AUTHORS pl283 349pulus 7 release code 4 years ago
Android.bp pl283 349pulus 7 release code 4 years ago
CONTRIBUTING.md pl283 349pulus 7 release code 4 years ago
CONTRIBUTORS pl283 349pulus 7 release code 4 years ago
INTERNALS.md pl283 349pulus 7 release code 4 years ago
LICENSE pl283 349pulus 7 release code 4 years ago
Makefile pl283 349pulus 7 release code 4 years ago
Makefile.ckati pl283 349pulus 7 release code 4 years ago
Makefile.kati pl283 349pulus 7 release code 4 years ago
OWNERS pl283 349pulus 7 release code 4 years ago
README.md pl283 349pulus 7 release code 4 years ago
affinity.cc pl283 349pulus 7 release code 4 years ago
affinity.h pl283 349pulus 7 release code 4 years ago
ast.go pl283 349pulus 7 release code 4 years ago
bootstrap.go pl283 349pulus 7 release code 4 years ago
buf.go pl283 349pulus 7 release code 4 years ago
buf_test.go pl283 349pulus 7 release code 4 years ago
clang-format-check pl283 349pulus 7 release code 4 years ago
command.cc pl283 349pulus 7 release code 4 years ago
command.h pl283 349pulus 7 release code 4 years ago
dep.cc pl283 349pulus 7 release code 4 years ago
dep.go pl283 349pulus 7 release code 4 years ago
dep.h pl283 349pulus 7 release code 4 years ago
depgraph.go pl283 349pulus 7 release code 4 years ago
doc.go pl283 349pulus 7 release code 4 years ago
eval.cc pl283 349pulus 7 release code 4 years ago
eval.go pl283 349pulus 7 release code 4 years ago
eval.h pl283 349pulus 7 release code 4 years ago
evalcmd.go pl283 349pulus 7 release code 4 years ago
exec.cc pl283 349pulus 7 release code 4 years ago
exec.go pl283 349pulus 7 release code 4 years ago
exec.h pl283 349pulus 7 release code 4 years ago
expr.cc pl283 349pulus 7 release code 4 years ago
expr.go pl283 349pulus 7 release code 4 years ago
expr.h pl283 349pulus 7 release code 4 years ago
expr_test.go pl283 349pulus 7 release code 4 years ago
file.cc pl283 349pulus 7 release code 4 years ago
file.h pl283 349pulus 7 release code 4 years ago
file_cache.cc pl283 349pulus 7 release code 4 years ago
file_cache.h pl283 349pulus 7 release code 4 years ago
fileutil.cc pl283 349pulus 7 release code 4 years ago
fileutil.go pl283 349pulus 7 release code 4 years ago
fileutil.h pl283 349pulus 7 release code 4 years ago
fileutil_bench.cc pl283 349pulus 7 release code 4 years ago
find.cc pl283 349pulus 7 release code 4 years ago
find.h pl283 349pulus 7 release code 4 years ago
find_test.cc pl283 349pulus 7 release code 4 years ago
flags.cc pl283 349pulus 7 release code 4 years ago
flags.go pl283 349pulus 7 release code 4 years ago
flags.h pl283 349pulus 7 release code 4 years ago
func.cc pl283 349pulus 7 release code 4 years ago
func.go pl283 349pulus 7 release code 4 years ago
func.h pl283 349pulus 7 release code 4 years ago
func_test.go pl283 349pulus 7 release code 4 years ago
io.cc pl283 349pulus 7 release code 4 years ago
io.h pl283 349pulus 7 release code 4 years ago
loc.h pl283 349pulus 7 release code 4 years ago
log.cc pl283 349pulus 7 release code 4 years ago
log.go pl283 349pulus 7 release code 4 years ago
log.h pl283 349pulus 7 release code 4 years ago
m2n pl283 349pulus 7 release code 4 years ago
main.cc pl283 349pulus 7 release code 4 years ago
make-c.sh pl283 349pulus 7 release code 4 years ago
ninja.cc pl283 349pulus 7 release code 4 years ago
ninja.go pl283 349pulus 7 release code 4 years ago
ninja.h pl283 349pulus 7 release code 4 years ago
ninja_test.cc pl283 349pulus 7 release code 4 years ago
ninja_test.go pl283 349pulus 7 release code 4 years ago
pack.sh pl283 349pulus 7 release code 4 years ago
parser.cc pl283 349pulus 7 release code 4 years ago
parser.go pl283 349pulus 7 release code 4 years ago
parser.h pl283 349pulus 7 release code 4 years ago
pathutil.go pl283 349pulus 7 release code 4 years ago
pathutil_test.go pl283 349pulus 7 release code 4 years ago
query.go pl283 349pulus 7 release code 4 years ago
regen.cc pl283 349pulus 7 release code 4 years ago
regen.h pl283 349pulus 7 release code 4 years ago
regen_dump.cc pl283 349pulus 7 release code 4 years ago
rule.cc pl283 349pulus 7 release code 4 years ago
rule.h pl283 349pulus 7 release code 4 years ago
rule_parser.go pl283 349pulus 7 release code 4 years ago
rule_parser_test.go pl283 349pulus 7 release code 4 years ago
runtest.rb pl283 349pulus 7 release code 4 years ago
serialize.go pl283 349pulus 7 release code 4 years ago
shellutil.go pl283 349pulus 7 release code 4 years ago
shellutil_test.go pl283 349pulus 7 release code 4 years ago
stats.cc pl283 349pulus 7 release code 4 years ago
stats.go pl283 349pulus 7 release code 4 years ago
stats.h pl283 349pulus 7 release code 4 years ago
stmt.cc pl283 349pulus 7 release code 4 years ago
stmt.h pl283 349pulus 7 release code 4 years ago
string_piece.cc pl283 349pulus 7 release code 4 years ago
string_piece.h pl283 349pulus 7 release code 4 years ago
string_piece_test.cc pl283 349pulus 7 release code 4 years ago
stringprintf.cc pl283 349pulus 7 release code 4 years ago
stringprintf.h pl283 349pulus 7 release code 4 years ago
strutil.cc pl283 349pulus 7 release code 4 years ago
strutil.go pl283 349pulus 7 release code 4 years ago
strutil.h pl283 349pulus 7 release code 4 years ago
strutil_bench.cc pl283 349pulus 7 release code 4 years ago
strutil_test.cc pl283 349pulus 7 release code 4 years ago
strutil_test.go pl283 349pulus 7 release code 4 years ago
symtab.cc pl283 349pulus 7 release code 4 years ago
symtab.go pl283 349pulus 7 release code 4 years ago
symtab.h pl283 349pulus 7 release code 4 years ago
testutil.h pl283 349pulus 7 release code 4 years ago
thread_local.h pl283 349pulus 7 release code 4 years ago
thread_pool.cc pl283 349pulus 7 release code 4 years ago
thread_pool.h pl283 349pulus 7 release code 4 years ago
timeutil.cc pl283 349pulus 7 release code 4 years ago
timeutil.h pl283 349pulus 7 release code 4 years ago
var.cc pl283 349pulus 7 release code 4 years ago
var.go pl283 349pulus 7 release code 4 years ago
var.h pl283 349pulus 7 release code 4 years ago
version.go pl283 349pulus 7 release code 4 years ago
version.h pl283 349pulus 7 release code 4 years ago
version_unknown.cc pl283 349pulus 7 release code 4 years ago
worker.go pl283 349pulus 7 release code 4 years ago

README.md

kati

Build Status

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.

How to use for Android

For Android-N+, ckati and ninja is used automatically. There is a prebuilt checked in under prebuilts/build-tools that is used.

All Android's build commands (m, mmm, mmma, etc.) should just work.

How to use for Android (deprecated -- only for Android M or earlier)

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
% ./ninja.sh

You need ninja in your $PATH.

More usage examples (deprecated way)

"make clean"

% ./ninja.sh -t clean

Note ./ninja.sh passes all parameters to ninja.

Build a specific target

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