Выполнение бинарного файла после компиляции с использованием scons - PullRequest
1 голос
/ 04 ноября 2010

Я использую scons для компиляции 2 двоичных файлов. Компиляция происходит в 2 этапа. Компиляция и выполнение первого двоичного файла генерирует файлы, необходимые для компиляции второго двоичного файла.

Каждая компиляция выполняется через отдельную среду (). Соответствующая часть файла SConstruct выглядит следующим образом:

env_gen.Program('#gen', gen_src)
env_gen.Command(ker_src + generated_src, "./gen")
env_ker.Program('#ker', ker_src + generated_src)

Проблема, с которой я столкнулся, заключается в том, что, хотя компиляция 'ker' происходит после выполнения 'gen', компиляция 'ker' жалуется на отсутствие сгенерированных файлов.

Это потому, что список зависимостей для 'ker' генерируется перед выполнением './gen'? Кто-нибудь знает как это побороть ??

1010 * ТИА *

1 Ответ

0 голосов
/ 07 ноября 2010

Предполагая, что "ker" зависит от файлов, сгенерированных "gen", я думаю, это может быть то, что вы хотите:

GENERATED_FILES = env_gen.Command(ker_src + generated_src, "./gen")
env_ker.Depends(GENERATED_FILES)
env_ker.Program('#ker', ker_src + generated_src)

Обратитесь к руководству Scons за подробной информацией о явном определении зависимостей с помощью env.Depends ()

...