I think this depends on what you're graphing. If it's an application, I think it has a better chance of working.
If it's something like a driver or something with a hal or tables of functions or callbacks it might be harder. If your codebase is large... hmm.
Last time I tried something like this was a decade ago so things might have gotten better.
The output of a run of profile-guided optimisation could be used to discover that graph, and only the touched functions would be drawn. This graph could be useful to start with the codebase, without being too overwhelming with all the edge cases.