Нет волшебства, которое могло бы распутать эту систему сборки для вас.Очистка займет медленную, тщательную работу (естественно, тестирование полностью).
Запустите ваши make-файлы под GNUMake, если вы этого еще не сделали.Постепенно очищайте их, объединяйте их, впитывайте в них функции скриптов bash.Составьте схему этих «нетривиальных взаимных зависимостей подпапок»;посмотрите, как Make обрабатывает зависимости, и когда вы почувствуете это, попробуйте Advanced Auto-Dependency Generation в песочнице с одной стороны;Поначалу это немного сложно понять, но как только вы начнете использовать его, вам это понравится.
У вас может возникнуть соблазн просто оставить достаточно хорошо в одиночестве.Ведь система сборки работает как есть.Проблема в том, что он балансирует на пределе Шварцшильда.Прямо сейчас вы можете очистить это - это будет нелегко, но это будет в ваших силах.Но если вы этого не сделаете, небольшие изменения в кодовой базе потребуют небольших изменений в системе сборки, всегда добавляя, а не уменьшая.Система сборки будет увеличиваться в размерах и сложности, работа по очистке будет постепенно усложняться, пока она не выйдет за пределы вашего горизонта, после чего вы не сможете уменьшить беспорядок быстрее, чем он вырастет (и все равно делать все остальное).вещи, которые вы должны сделать).Это известный анти-паттерн .