commit | 69bcc6b190eb788823c4ceafdf7ff7b29e4139f5 | [log] [tgz] |
---|---|---|
author | Joe Onorato <[email protected]> | Mon Nov 09 11:38:14 2020 -0800 |
committer | Joe Onorato <[email protected]> | Thu Nov 12 09:30:13 2020 -0800 |
tree | e83d3f21cefa8288f5807169de24d1a71db5f9ef | |
parent | d9189545ad0cc0d6d49e7d10d4ffcf622739e86b [diff] |
.VARIABLES and .KATI_SYMBOLS extension These two variables contain a list of all of the variables that are defined in the interpreter symbol table. .VARIABLES lists all symbol names as per the standard make definition. .KATI_SYMBOLS attempts to filter out variables which are macros to be expanded later. Namely, it drops deferred function calls and ones with with deferred evaluation positional parameters ($(1), $(2), etc)).
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.
Building:
$ make ckati
The above command produces a ckati
binary in the project root.
Testing (best ran in a Ubuntu 18.04 environment):
$ make test $ go test --ckati $ go test --ckati --ninja $ go test --ckati --ninja --all
The above commands run all cKati and Ninja tests in the testcases/
directory.
Alternatively, you can also run the tests in a Docker container in a prepared test enviroment:
$ docker build -t kati-test . && docker run kati-test
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.