Skip to main content

An experimental GNU make clone

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kati-0.0.20250520.tar.gz (150.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

kati-0.0.20250520-py3-none-musllinux_1_2_x86_64.whl (1.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

kati-0.0.20250520-py3-none-musllinux_1_2_s390x.whl (1.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ s390x

kati-0.0.20250520-py3-none-musllinux_1_2_ppc64le.whl (1.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ppc64le

kati-0.0.20250520-py3-none-musllinux_1_2_i686.whl (1.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

kati-0.0.20250520-py3-none-musllinux_1_2_armv7l.whl (1.1 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

kati-0.0.20250520-py3-none-musllinux_1_2_aarch64.whl (1.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

kati-0.0.20250520-py3-none-manylinux_2_27_armv7l.manylinux_2_31_armv7l.whl (256.7 kB view details)

Uploaded Python 3manylinux: glibc 2.27+ ARMv7lmanylinux: glibc 2.31+ ARMv7l

kati-0.0.20250520-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (289.2 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

kati-0.0.20250520-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (287.8 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

kati-0.0.20250520-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (328.3 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

kati-0.0.20250520-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (298.1 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

kati-0.0.20250520-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (286.3 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

kati-0.0.20250520-py3-none-macosx_11_0_arm64.whl (239.7 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

kati-0.0.20250520-py3-none-macosx_10_13_x86_64.whl (269.6 kB view details)

Uploaded Python 3macOS 10.13+ x86-64

File details

Details for the file kati-0.0.20250520.tar.gz.

File metadata

  • Download URL: kati-0.0.20250520.tar.gz
  • Upload date:
  • Size: 150.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for kati-0.0.20250520.tar.gz
Algorithm Hash digest
SHA256 4ca20a142cc52410acb9aaf90d1a96d11d64bbb5f8f2fd087ee143f2da5bd6fc
MD5 9a23d8d5741009b325787ea9932f7b98
BLAKE2b-256 6a767eee044b386433090f4e8d50f638887f43a84f922c01418c497cb0800522

See more details on using hashes here.

File details

Details for the file kati-0.0.20250520-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for kati-0.0.20250520-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 22aa1f95ace67d9e9126968a5dfb27b93cbc0fadbca4a934dd8804f313f30c9a
MD5 dffcd89ce9cbc77e712274b222e8829b
BLAKE2b-256 9770dcb9e07f69dcd4d6ee2a533c165bcde01f29b8eb19c67bb0b22a7bc08f55

See more details on using hashes here.

File details

Details for the file kati-0.0.20250520-py3-none-musllinux_1_2_s390x.whl.

File metadata

File hashes

Hashes for kati-0.0.20250520-py3-none-musllinux_1_2_s390x.whl
Algorithm Hash digest
SHA256 f49da6f0abfe6e4290be423f234c2e4e730aba48dc51bab59d2afbd5fd30de72
MD5 7b89a919805ca6327a3195688455c78f
BLAKE2b-256 8769e485e341af3b2520e9cf4be4779f36006fc37c0469b95a3a680da81fedcc

See more details on using hashes here.

File details

Details for the file kati-0.0.20250520-py3-none-musllinux_1_2_ppc64le.whl.

File metadata

File hashes

Hashes for kati-0.0.20250520-py3-none-musllinux_1_2_ppc64le.whl
Algorithm Hash digest
SHA256 ec91997eeab1c33dcfd1d5432d951d4b72af8c1b9ace50bc99d78a9efcb1f469
MD5 254b08d074aed21f3d8ff37820a1cb60
BLAKE2b-256 1d3313f83549b64415f9593fe46f526b0ea6d2259697655d564e8b7e4ca1a958

See more details on using hashes here.

File details

Details for the file kati-0.0.20250520-py3-none-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for kati-0.0.20250520-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 707d93e656090ecea5a03d892da14deb4b0c3ef860ecff4ad812600318fccf2a
MD5 79bbf922be823004e21ab7fdc1691260
BLAKE2b-256 8e945d18d2067a2070c5cdd2b309f25c661ffe3abf5329364139e9474253120f

See more details on using hashes here.

File details

Details for the file kati-0.0.20250520-py3-none-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for kati-0.0.20250520-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 edabd2e6ab0c051baca1361286c22f392b7fdbe3b7064276eb9fd7d569c5a30a
MD5 1412a73df7ba5ab2d48fbcc0abc1bead
BLAKE2b-256 7c3acc6a42d1f2fe8ce6fc0b8494e6c28e23112360f1855288ebfdb0bb278865

See more details on using hashes here.

File details

Details for the file kati-0.0.20250520-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for kati-0.0.20250520-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6690c8d50ac837cba042ad28bca85e9d289628a9981e8d3d4094b9135b0e420e
MD5 d725317840d0ff95ffb8dc279e506198
BLAKE2b-256 4e193fe3726a89c41917b6f7de6934693db2b1d77708a17b233048138f64fac2

See more details on using hashes here.

File details

Details for the file kati-0.0.20250520-py3-none-manylinux_2_27_armv7l.manylinux_2_31_armv7l.whl.

File metadata

File hashes

Hashes for kati-0.0.20250520-py3-none-manylinux_2_27_armv7l.manylinux_2_31_armv7l.whl
Algorithm Hash digest
SHA256 cc324d98eaa92957291efd964c643069e1795fd841e79c659e5f26ad5eca3049
MD5 bea8cadafe8919e8e940f792f753c752
BLAKE2b-256 92ac2cd2148aa5b98b1b3521a9b6d825eecc1e933b757dcad8f04c19774661d2

See more details on using hashes here.

File details

Details for the file kati-0.0.20250520-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kati-0.0.20250520-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e49189f1b81d8335a32378cf3dfde570e0cec5a7ae7ef9f394068f11548f4ae0
MD5 fd44569ea6b7e03e67b35a9973f1e310
BLAKE2b-256 dc88acea8f167ebe47334faa0ca8e03afda8b1f4f242b1f90b57e1a94e943ac5

See more details on using hashes here.

File details

Details for the file kati-0.0.20250520-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for kati-0.0.20250520-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 acec36b41ef4bc3734e3bb43d64353e8f04a932152993c57b29f5fe288a2943e
MD5 32d0fb924a81fdb4998af55a758b13b2
BLAKE2b-256 325d267ab40bca442de6a2f7ce4f16f5b6fa71a2ce7f115a21cd59db82bc86a9

See more details on using hashes here.

File details

Details for the file kati-0.0.20250520-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for kati-0.0.20250520-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d8740f87656ed44f73a64ec67a37b860a9800c3eace9ed491a58672f7dd15282
MD5 b67d504d29269c608943ce79387add8f
BLAKE2b-256 b89e987d4e193c33547215810231bd4e1fb226ece9f199804fa0b2c554d4ca96

See more details on using hashes here.

File details

Details for the file kati-0.0.20250520-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for kati-0.0.20250520-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 2fe3fd1edcd22c9ccd022c47ae005265b5d15c34ac2d5fe7ddb2e12d92a35028
MD5 827002206acd44d316aec93b9e8029c1
BLAKE2b-256 41aacbbe9973cdeb315ef586707d4f613cb84f574d8f6868ba76084c8a0e4c60

See more details on using hashes here.

File details

Details for the file kati-0.0.20250520-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for kati-0.0.20250520-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4c4be88644b8f6fdd34abc20ba2b088f856746c1158df435e7a54c5a167f59a8
MD5 b580dad81300197673a1026c9660182b
BLAKE2b-256 396793cd5d4f706c9dc84c5389684b60d06522049ceb3e65cc97a71df7111a45

See more details on using hashes here.

File details

Details for the file kati-0.0.20250520-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kati-0.0.20250520-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1fa7df0a8999250001e836d875836ed37954d858beae7fe0748977fe765a1d79
MD5 94dd2eb57d2cb9bc71eb9479e5929aa9
BLAKE2b-256 1c206b4b63a3a7657104e7f5bba988cc3afd19cca067ecb63370d8c87e60860c

See more details on using hashes here.

File details

Details for the file kati-0.0.20250520-py3-none-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for kati-0.0.20250520-py3-none-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 630925752ea8d32b730bf1001fc2ef0fe714855e5b1f3f06ccbea7accfa6ee46
MD5 8fb51d276e2abefdbe705b06aea3cdfa
BLAKE2b-256 71ca987d1bc896aa1577fea7238235fce6ff79f1f6f8238ee1a26f85b54ee92e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page