Scons: запустить команду make как зависимость для цели - PullRequest
4 голосов
/ 17 июня 2011

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

make my_target

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

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

1 Ответ

5 голосов
/ 17 июня 2011

Создайте построитель 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"])
...