Recursive Makefiles are inefficient and error prone (no proper way to declare dependencies). Since there's no disadvantage in having one single Makefile, let's do it.
When configured with --enable-documentation, use doxygen.