The concept of “metalib” was introduced when we originally migrated the build system from Linux to Windows. The original build system created a single shared library for each directory within the panda/src tree, so there was a libpgraph.so, libputil.so, libgobj.so, and so on.
When we moved to Windows, we discovered that that level of modularity wouldn’t work with MSVC (and particularly with Microsoft’s implementation of STL), so we had to combine multiple directories together into a few big DLL’s. So we ended up with libpanda.dll, libpandaegg.dll, and so on. We called these files “metalibs”, because they were collections of smaller libs packaged into a single big lib.
Nowadays makepanda builds everything into these metalib files on every platform. If you use ppremake, it still builds individual libs on Linux and Mac, and it builds metalibs on Windows.