Working with embedded I had mixed success with bear. Old environments that cannot run the latest version, LD preload messing with vendor toolchains.
These days I found my peace just writing my own python scripts to parse verbose build logs. You just need to extract filename, base dir, compiler and arguments. Sometimes you're lucky and build system supports dry run and you don't even have to run a real build to get the logs.
Way less invasive, no need to ask devops for additional tools and you can adapt it to any build system.
Whenever I start with a new toolchain, I spend a couple of hours to tweak the parser and I'm good to go.