Имеется 2 модуля: основной и вспомогательный.

Во вспомогательном модуле находим ошибку и исправляем ее. При повторном запуске программы BlackBox использует старую загруженную версию модуля. Просто взять и выгрузить эту старую версию вспомогательного модуля не получится, т.к. он используется основным модулем. Поэтому приходится вручную выгружать сначала основной, а затем вспомогательный модуль. Если в программе много модулей и зависимостей между ними, то это становится слишком сложным.

Как автоматизировать этот процесс, чтобы перекомпилировались только измененные модули, затем в нужном порядке выгружались и запускалась программа с внесенными изменениями?