Scons: запустить команду make как зависимость для цели

У меня есть библиотека, которая должна быть построена как зависимость для моей цели. Библиотека распространяется с Makefile, и для ее сборки нет ничего особенного, кроме как для запуска:

make my_target

Как бы я выполнил эту команду как часть моего файла SConstruct, если мой файл выглядит примерно так:

env = Environment()
flags = env.ParseFlags( CCFLAGS + LDFLAGS )
env.MergeFlags( flags )
env.Program( target = 'my_prog', source = SRC )

1 ответ

Решение

Создать Command строитель с именем библиотеки в качестве цели:

env.Command("other/lib/libother.a", "", "cd other && make my_target")

Обязательно добавьте эту библиотеку в свой Program линия:

env.Program(target="my_prog", source=SRC, LIBS=["other/lib/libother.a"])
Другие вопросы по тегам