makefiles instruct the build tool Make on how to compile and link a bunch of source code files. If I understand correctly, Gradle and Maven (as well as some other like Ant, Rake, Phing, and CMake) are also build tools that serve the same purpose as Make. If so, I'm assuming that they all need to have some sort of "instruction file", just as Make has makefiles as it's "instruction files".
From my reading I understand that XML files serve as "instruction files" for Maven and Groovy DSL files do so for Gradle.
I don't think that's entirely correct though, especially because Groovy is a language for web development so I don't see how it's relevant here.