I am learning makefiles and I know how to create a simple makefile. I am moving on to nested makefiles. Here is my directory structure
/src
...makefile
Recursive make is generally considered harmful.
If you really want to be able to type "make" in the root dir and have it build everything using only POSIX makefiles, it is the only way. In that case, link the subprojects in their own directory, and final stuff together in root.
If you're willing to use gmake syntax, take a look at the Makefiles here: http://github.com/singpolyma/theveeb-ecosystem