Mastering module Makefiles
Android Makefiles are an essential piece of the NDK building process. Thus, to build and manage a project properly, it is important to understand the way they work.
Makefile variables
Compilation settings are defined through a set of predefined NDK variables. We have already seen the three most important ones: LOCAL_PATH, LOCAL_MODULE
, and LOCAL_SRC_FILES
, but many others exist. We can differentiate the following four types of variables, each with a different prefix:
LOCAL_
variables: These are dedicated to individual module compilation and are defined inAndroid.mk
files.APP_
variables: These refer to application-wide options and are set inApplication.mk
.NDK_
variables: These are mainly internal variables that usually refer to environment variables (for example,NDK_ROOT
,NDK_APP_CFLAGS,
orNDK_APP_CPPFLAGS
). There are two notable exceptions:NDK_TOOLCHAIN_VERSION
andNDK_APPLICATION_MK
. The latter can be passed to the NDK-Build in parameter to define a different...