A common C-language problem where #includes get added but never get removed. From a high level perspective this means that all source modules eventually depend on everything else and you have no modularity at all. At this point build times are likely astronomical and testing is impossible.
The usual cause for this is a lack of scheduled maintenance along with aggressive FeatureFocus? and an IfItAintBroke? mentality.