Brillo と Ninja+Kati による build system

[Brilloのbuild system](http://qiita.com/hidenorly/items/6db2a1b71b3c423813bd) でみたBrilloのbuildで、Ninja関係の覚え書き.

https://android.googlesource.com/platform/build/+/brillo-m7-dev

# Ninja関係

```
c13f9c952dafb5a59ce5ae039a599e83a9622b83 envsetup,product,ninja: enable symlink traversal
466ea35202f5e858f6f9191cb43d99d113698f5d makeparallel: prepend flags to ninja command line
88dc18a31952edcf2dfea737e3989f2112e5155f Put NINJA_ARGS last
b4a4278595884f427c7e65961d93b225612139d1 Have all targets in build.ninja
ebf32c22368bd7471d42dc6ed16164a8c6c5d700 Move ninja files to $(OUT_DIR)
80e46c7c5cb7b1d80114876d301798a8624b4200 Move the dist-as-droid handling from make to ninja
8f9f01bbc3968be4e99fbd9bb2ba38314875e8dc Revert "Have all targets in build.ninja"
92bbf5667d2d16682477556cb55e0d2f0a3b1e14 Have all targets in build.ninja
a4447e8c89ca193ffdb4678de78998f9857ae7c7 Don't add dependencies on Makefiles when using ninja
fe5e6894d2b16b76347fdd115a4538cd35d559ec Set BUILDING_WITH_NINJA flag when parsing makefiles for ninja build
d8f268ecac3a689ed3cadf51234f64f0721ca9b9 Allow USE_GOMA=true without explicit USE_NINJA=true
127da9e4aa78d4e26484db2a8daa3f05d90e27fa Use md5sum as the build.ninja filename suffix if the suffix gets too 
f77030bb300dc69c63d5e795f48e4b67cddcf8d9 Make USE_NINJA=true the default
af6c071a5f5fbb5d8af82884889ca17b59ad41f7 Pass --ninja to makeparallel for ninja
69047fab7ee08a62f26b0311bc75dc03e0d5547e makeparallel: improve support for wrapping ninja
eb1e18e68904287058644867cb4304a9e7c58a2d Use $(OUT_DIR)/ninja_build to mark ninja build.
f7ca64faa0f8385384e4831afe60d044d6de451d Use makeparallel to propagate -j flag to ninja or kati
d762bcae259ca9e53f3ca4e784b2dab78c2f6c35 Use the same build.ninja for normal make targets
909e7f40ae6a80c589ca0d03ccd4d2ea1044ccdb Use $(BUILD_MODULES_IN_PATHS) as a part of ninja suffix
bfd01872cb1afdf419f42bdd5c1df47b715e0d91 Set --ninja_suffix based on make/mm/mmm targets
bb1da5e614a26fb9d973c88db2c56a1f294f332d Use unmodified MAKECMDGOALS in ninja.mk.
3b324cb32e6872d0e6a21898cfe63b9d78cc04db Build with kati+ninja when USE_NINJA=true
```

# kati関係

```
ecea601b8a1e357e18ea34b68df4214dbf883888 Stop passing --gen_all_phony_targets to kati
52b697a488551bb7a051d5f92f0aa8616df3cfcc Revert "Pass all goals to kati when "dist" is in goals"
d3701e9e967a7e1e97aa365af4c0080d3bad929e Pass all goals to kati when "dist" is in goals
8b08f3a8646065d128d27be003031ad752c160a9 Reland: Only put PARSE_TIME_MAKE_GOALS into KATI_TARGETS
5ff665d4075bfb0506cb9f4b1e4dc27823e20450 Revert "Only put PARSE_TIME_MAKE_GOALS into KATI_TARGETS"
cb31f040e304e7d7b2a08d3fd8eceb72c878c37e Only put PARSE_TIME_MAKE_GOALS into KATI_TARGETS
84a8ca3173ec7b386690491f6a5db7d3c6f1b90b Revert "Only put PARSE_TIME_MAKE_GOALS into KATI_TARGETS"
b71d24931c7a18799249e3c7f7f6de20ac76cc75 Only put PARSE_TIME_MAKE_GOALS into KATI_TARGETS
cb1bd116ed9282526484fb414c103aae46fd2bfc kati: Handle MAKECMDGOALS modifications
f7ca64faa0f8385384e4831afe60d044d6de451d Use makeparallel to propagate -j flag to ninja or kati
5b6b6bb9744c5d55296b2100acadd5ba1125c03e Add two flags for the latest ckati
0a0e6eae3f918a95f206c748ca0cce4cffeec9d1 Build static ckati on Linux.
3b324cb32e6872d0e6a21898cfe63b9d78cc04db Build with kati+ninja when USE_NINJA=true
```

つづく。