In this section, we will go deeper into Aosp build system.
So in the last tutorial, if you remember, we use the three commands basically to start the build,
so will see what exactly is happening in the background.
This is a high level overview architecture diagram of the build system.
Here we have the build system in the center and here we have some of the supporting make files and in
the right side is basically the outputs.
So if you see the build system, the build system actually starts by loading a set of configuration
and that is done through the setup process and the launch commands.
So that is the first step basically.
So the first step is basically it loads a set of configurations and then it starts with the main dot
file which you can see in the core folder build core folder so far for now, just keep in mind that
it first loads the configuration, then it starts the execution with the main dot MK and the main dot.
MK in reference to these files, basically.
So one is configured.
MK which is basically meant to have the configuration variables.
And then we have the definition stored in K, which has the set of function definitions which is used
across the build.
And the third one is Makefile, which is actually responsible for building the images.
And then we have the clean tools that is Clean Build.
MK which is responsible for cleaning up the build after the execution.
So in short, just keep in mind that Android built the system like this.
So it just loads the configuration and it starts execution for the main totem key and it just executes
the set of functions and rules and then finally cleans up the build.
So in the left hand side you can see a set of Makefile.
So these are basically to configure your product.
So in case if you are developing a new board and the board product description so that the board itself
is a product and the board configuration will go here in the board config m k and the product descriptions
will go into Android products dot MK.
And if you have some modules in it, like if you have some apps or something, some modules which is
related to this board, then that comes under this part.
So the Android products should have an entry for your new product and the board config will contain
the hardware related configuration.
And then finally, the module build rules is nothing but the rules about how the module has to be built.
And then in the right hand side you can see the outputs basically.
So these are the intermediate outputs and then here the actual outputs, which is actually the images
or SDK.
So this was a very quick summary about the build system architecture.
I hope you learned something from this.