-the Android.mk files specify how to build each module. BY defaul, the
build system compiles and links all the modules it knows about (but
doesn't install them).
-the product definition files (e.g. full.mk) specify which modules get
installed for a give build configuration.
-there's a dependency mechanism so that a module's Android.mk can
specify that it depends on other modules, so that installing the top
module will also install the dependencies.
replacement for another, so that an advanced module can replace a
simple one (e.g. that's the way Google's Music app replaces the
Open-Source one).