* cmake * premake * ant * scons * ninja * gyp * jam * gn (Google) * meson
Your second idea is basically UML and some of the tools that exist for it.
Your second idea is basically UML and some of the tools that exist for it.