It is quite common in Windows, either produce lib or dlls for each set of main modules.
In the old days it used to be quite common on UNIX world as well, no idea why "modern" Linux seems to have forgotten about this approach and always builds everything as a single project unit.