There is no standard way to have the makefile in a project, most of the companies have their own coding guidelines for having Makefile.
But most effective way to have multiple makefile for each code directory which includes the parameters from the parent makefile. So in short if you have code in five directories then you should have one makefile which calls the makefiles from each sub-directory and each sub-directory makefile will includes the parameters from the parent make file. If some sub-directory have a sub-directory again then makefile should also call sub-directory makefile.
So in short hierarchical makefile structure is best and easy to maintain.
Let me know if looking something different.