Scons Glob and Builder - только создание первого файла в Glob - PullRequest
0 голосов
/ 29 августа 2011

У меня есть Builder, который выглядит следующим образом:

baseEnv['COMPILEPROPERCOM'] = '$CXX -S -o ${TARGET.file} -c $CPPFLAGS -fPIC $COMPILE_PROPER_PATH $COMPILE_PROPER_DEFINES ${SOURCE.file}'
    compileProperAction = Action('$COMPILEPROPERCOM')
    compileProper_bld = Builder(action=compileProperAction, suffix = '.s_', chdir=1)

И я называю его в SConscript следующим образом:

    asm = libEnv.cp([Glob('*.c'),Glob('*.cpp')])

Проблема, которая у меня возникает, заключается в том, чтотолько первый файл в глобе строится.Я пытался не использовать Glob и передавать имя нескольких файлов вручную, но опять же, был создан только один файл.Поэтому я предполагаю, что что-то не так с моим Строителем, но я не могу понять это.Любые мысли о том, почему, когда список узлов передается этому компоновщику, создается только один файл?

Ответы [ 2 ]

1 голос
/ 31 августа 2011

После того, как Луи напал на него по-другому, в итоге мне удалось назвать таких строителей.

instrAsm = []
for a in asm:
    instrAsm += exeEnv.instr(a)
for g in Glob('*.s'):
    instrAsm += exeEnv.instr(g)

asm содержит узлы из некоторых исходных файлов, которые компилируются в сборку на предыдущем шаге

1 голос
/ 29 августа 2011

Я бы написал так:

import os, glob
for filename in glob('*.c'):
    asm = libEnv.cp(filename, os.path.split(filename)[0] + ".cpp")

Надеюсь, это поможет.

...