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