It breaks parallel makes and dll separation. Dlls should not depend on one other this way. The best way is to duplicate the few things you need in each dll.
OK, guess you're right... but just as a thought, would it make any difference if I made symlinks from dmusic/dmusic_common.c to others and then list them as "local" sources (can diff & cvs hadle symlinks)? Or just copying dmusic_common.c to all dm* folders and then include them locally? (as for dmusic_common.h, there won't be much need for this one then and I could put its contents in dm*_private.h).