Самый простой и четкий вариант: отдельно компиляция, отдельно выполнение/перезагрузка.

Разделение проверки(компиляции) и выполнения -- очень общая вещь.
Детям этот шаблон надо впечатывать.
В этом плане сваливать всё в одну кучу -- неразвивающе.

Тем более, что придется делать взаимодействие двух этапов по переменной СДЕЛАНО.
И возня, и бессмысленно.