No, the makefile, in the better situation will describe you how are the dependencies of the code (.c) and header (.h) files.
If you want to know about the software itself, you'll need to study the source code itself. Even better, you could study its documentation.
If the documentation is not available, you run doxygen over the source code, which will extract the documentation, if existing, and describe you the relationships between entities in the code.
Generally speaking it is not possible. however if you want to do it, you can tweak a bit and add shell script to get the information of the linux kernel. you can run the shell script just like any other command from the makefile.
C make file contains the names of the files that should be compiled in order to successfully run the software. It contains .c file names along with the compiler flags e.g. for GCC it could be -Wall -Wno-unused etc.
Make file contains all .c and .h files which are involved in the software along with their order of compilation (i.e dependencies on each other).