Skip to content

google/kati

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Apr 30, 2024
3402c1e · Apr 30, 2024
Oct 5, 2023
Apr 30, 2024
Apr 30, 2024
Oct 12, 2017
Oct 12, 2020
Jun 27, 2020
Nov 28, 2022
Oct 7, 2020
Jul 9, 2015
Nov 28, 2022
Jan 19, 2024
Oct 31, 2015
Jun 10, 2015
Jun 15, 2023
May 4, 2023
Nov 28, 2022
Jun 27, 2020
Jun 29, 2020
Jun 29, 2020
Oct 5, 2023

kati

Build and Test

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.

Development

Building:

$ make ckati

The above command produces a ckati binary in the project root.

Testing (best ran in a Ubuntu 22.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

If you are working on a machine that does not provide make in the same version as kati is currently compatible with, you might want to download a prebuilt version instead. For example to use the prebuilt version of Ubuntu 20.04 LTS:

  $ mkdir tmp/ && cd tmp/
  $ wget http://mirrors.kernel.org/ubuntu/pool/main/m/make-dfsg/make_4.2.1-1.2_amd64.deb
  $ ar xv make_4.2.1-1.2_amd64.deb
  $ tar xf data.tar.xz
  $ cd ..
  $ PATH=$(pwd)/tmp/usr/bin/:$PATH make test

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.