add ninja_test in .gitignore
1 file changed
tree: 55445443042950f69665acea75209db5c0eb68ca
  1. cmd/
  2. make-c/
  3. testcase/
  4. .gitignore
  5. ast.cc
  6. ast.go
  7. ast.h
  8. bootstrap.go
  9. buf.go
  10. buf_test.go
  11. command.cc
  12. command.h
  13. CONTRIBUTING.md
  14. dep.cc
  15. dep.go
  16. dep.h
  17. depgraph.go
  18. doc.go
  19. eval.cc
  20. eval.go
  21. eval.h
  22. evalcmd.go
  23. exec.cc
  24. exec.go
  25. exec.h
  26. expr.go
  27. expr_test.go
  28. file.cc
  29. file.h
  30. file_cache.cc
  31. file_cache.h
  32. fileutil.cc
  33. fileutil.go
  34. fileutil.h
  35. find.cc
  36. find.h
  37. flags.cc
  38. flags.go
  39. flags.h
  40. func.cc
  41. func.go
  42. func.h
  43. func_test.go
  44. LICENSE
  45. loc.h
  46. log.cc
  47. log.go
  48. log.h
  49. m2n
  50. main.cc
  51. make-c.sh
  52. Makefile
  53. ninja.cc
  54. ninja.go
  55. ninja.h
  56. ninja_test.cc
  57. ninja_test.go
  58. pack.sh
  59. parser.cc
  60. parser.go
  61. parser.h
  62. pathutil.go
  63. query.go
  64. README.md
  65. rule.cc
  66. rule.h
  67. rule_parser.go
  68. rule_parser_test.go
  69. run_integration_test.rb
  70. runtest.rb
  71. serialize.go
  72. shellutil.go
  73. shellutil_test.go
  74. stats.cc
  75. stats.go
  76. stats.h
  77. string_piece.cc
  78. string_piece.h
  79. string_piece_test.cc
  80. stringprintf.cc
  81. stringprintf.h
  82. strutil.cc
  83. strutil.go
  84. strutil.h
  85. strutil_test.cc
  86. strutil_test.go
  87. symtab.cc
  88. symtab.go
  89. symtab.h
  90. timeutil.cc
  91. timeutil.h
  92. value.cc
  93. value.h
  94. var.cc
  95. var.go
  96. var.h
  97. worker.go
README.md

kati

kati is an experimental GNU make clone. The main goal of this tool is to speed-up incremental build of Android.

How to use for Android

Currently, kati does not offer a faster build by itself. It instead converts your Makefile to a ninja file.

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.

More usage examples

"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":

% ~/src/kati/m2n cts
% ./ninja-cts.sh

Or, if your target is built by "make", your can specify the target of ninja.

% ./ninja.sh out/host/linux-x86/bin/adb

Specify the number of default jobs used by ninja

% ~/src/kati/m2n -j10
% ./ninja.sh

Or

% ./ninja.sh -j10

Note the latter kills the parallelism of goma.