Я смотрел и смотрел, и я не могу найти ответ на мой вопрос. Я только начал изучать сэны сегодня, и это выглядит потрясающе! Я немного запутался.
Для простоты разработки мне часто нравится, чтобы мой файл make собирал мою цель, а затем запускал его, чтобы я мог протестировать изменение одним нажатием клавиши. Это очень просто в файле make:
run: $(exe)
chmod a+x $(exe)
$(exe)
Я понял, что могу сделать это с помощью подпроцесса следующим образом:
import subprocess import os.path
env = Environment();
result = env.Program(target = "FOO", source = "BAR");
location = os.path.abspath(result[0].name)
subprocess.call([location])
Но проблема с этим решением. Насколько я экспериментировал, scons не будет ждать, пока ваша программа будет завершена, прежде чем она запустит вызов подпроцесса, поэтому вы закончите запуск старого исполняемого файла или имеете ошибку, если он построит после чистого.