So I have this Makefile based build system that my users feel is working too slowly. For the sake of this question lets define performance as the time it takes make to figur
I don't think there is any way to profile the Makefiles themselves.
You could do something though: for a null build (everything is up to date), run top-level make under strace -tt -fv and see which parts of the tree, which recursive submakes, which file accesses, etc. take unexpectedly long.
Computed variables (var := $(shell ...)), repeated NFS file stat calls, etc. often make make slow.