что заставляет scons создавать файлы, когда у меня есть собственный компоновщик?

Я схожу с ума, пытаясь контролировать, когда файлы создаются в бра. У меня есть очень простой пример дерева построения (см. Ниже) с построителем Poem , который просто берет файл .txt и преобразует его в нижний регистр в соответствующем .eectxt файл.

В моих файлах SConstruct и SConscript я объявляю зависимости 3 файлов .txt.

Но я не могу понять, что помещает их в сборку по умолчанию!

sconstest/
    SConstruct
    tiger.txt
    src/
        SConscript
        hope.txt
        jabberwocky.txt

, где файлы * .txt представляют собой стихи, а мои SConstruct и SConscript выглядят следующим образом:

SConstruct:

env = Environment();

def eecummings(target, source, env):
  if (len(target) == 1 and len(source) == 1):
    with open(str(source[0]), 'r') as fin:
        with open(str(target[0]), 'w') as fout:
            for line in fin:
                fout.write(line.lower());
  return None

env['BUILDERS']['Poem'] = Builder(action=eecummings, suffix='.eectxt', src_suffix='.txt');

Export('env');
poems = SConscript('src/SConscript');
tigerPoem = env.Poem('tiger.txt');

src / SConscript:

Import('env');

input = ['jabberwocky.txt', 'hope.txt'];
output = [env.Poem(x) for x in input];
Return('output');

Я хочу объявить зависимость .eectxt файлы из соответствующих файлов .txt , но не заставляют их собираться, если я явно не помещаю их в сборку Default () файл SConstruct, или я запрашиваю их явно в командной строке.

Как я могу это сделать?

6
задан Jason S 9 October 2010 в 02:08
поделиться