Я пытаюсь получить Spons, чтобы скопировать проект Makefile из источника DIR в сборку DIR и запустить некоторые команды для создания libmoo.a, но я работаю в цикле зависимости ошибка. Подробности следуют:
. / Сказок:
env = Environment()
Export('env')
dirs = ['.']
variant_dir = 'build'
for dir in dirs:
SConscript(dir + '/' + 'SConscript', variant_dir=variant_dir + '/' + dir, duplicate=0)
./ Sconscript:
import os
Import('env')
env.Command(env.Dir('moo2').abspath, env.Dir('#moo').abspath, ["echo copying moo to the build dir", Copy("$TARGET", "$SOURCE")])
env.Command(env.Dir('moo2/Makefile').abspath, env.Dir('moo2').abspath, 'echo would run moo2.configure')
moolib = env.Command(env.Dir('moo2/libmoo.a').abspath, env.Dir('moo2/Makefile').abspath, 'echo would run make')
Default(moolib)
Ошибка работает Scons:
scons: *** Found dependency cycle(s):
build/moo2/Makefile -> build/moo2 -> build/moo2/Makefile
build/moo2/libmoo.a -> build/moo2 -> build/moo2/Makefile -> build/moo2/libmoo.a
также пытался без использования .abspath, но это не должно иметь значения, верно?
Я не Смотрите какие-либо циклы:
Как дела Видеть цикл? Кажется, думает, что сборка / moo2 / makefile зависит от сборки / moo2 / libmoo.a, что не то, что я намеревался уточнить.
Любые связанные предложения также приветствуются: -)