for some unknown reason I used "-l:<lib>" in the .pc files while it should just be "-l<lib>". This would prevent libprojectM (and the playlist lib) from being linked in projects using pkgconfig.
Old: - libprojectM.so - libprojectM_playlist.so New: - libprojectM-4.0.so - libprojectM-4.0-playlist.so
Generalized the generator code as a macro. Still a huge mess.