In my opinion, we should list every source file to be included to prevent unexpected side effects.
Actually I think listing *every* source file is not really the best way, because most of the build modules include all of their respective source files, with the only exception being 3rd party modules.
Unbuildable and unnecessary .c files floating in the code base are those unexpected "side effects" which need to be cleared/fixed.
WBR, Aleksey Bragin.