Job caching for kati

1 minute read

kati is an experimental GNU make clone that is used to speed up incremental Android builds. kati is used for Android version 7 (“Nougat”) and newer versions to convert makefiles to Ninja files. For more information about kati, see The CloudBees Build Acceleration JobCache feature for kati can improve build performance by caching and reusing kati target files. JobCache for Kati is supported only on Linux platforms.

JobCache caches all kati target files (.ninja files if using the Ninja build system). JobCache for kati should not be used to cache results from linking.

Because kati output target names do not follow a well-known pattern, you cannot automatically enable JobCache for kati via the --emake-jobcache command-line option. Instead, you must apply the #pragma jobcache kati pragma inside the makefile. For example, on Android builds using kati, use the pragma as follows:

#pragma jobcache kati $(KATI_BUILD_NINJA) :