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"])