Ни в коем случае не эксперт, но, похоже, он просматривает системные вызовы open (), которые создает конкретный двоичный файл, и проверяет, соответствует ли открытый файл определенному регулярному выражению.Если он находит совпадение, он записывает это совпадение в файл, который GNU make может проанализировать.
http://www.hep.phy.cam.ac.uk/~lester/gendep/index.html
Что касается GNU make, я знаю, что там есть книга О'Рейлипредмет, но это бесплатное руководство хорошо справляется с основами: http://www.gnu.org/software/make/manual/make.html