Я новичок в SCons и мне нужна помощь в понимании того, почему мой сценарий сборки не производит требуемый результат. Будем очень признательны за любые указатели на то, что я делаю неправильно.
Ниже представлена моя файловая структура:
.
├── prog_1
│ ├── hello.c
│ └── SConscript
└── SConstruct
Вот как я хочу, чтобы он выглядел после запуска scons -u
из подкаталога prog_1.
.
├── prog_1
│ ├── build
│ │ └── hello.o
│ ├── hello.c
│ ├── prog_1.out
│ └── SConscript
└── SConstruct
Содержание файла SConstruct
:
env = Environment()
env['CC'] = 'gcc'
env['CCFLAGS'] = Split("""
-std=c99
-Wall
""")
Export('env')
Содержание файла prog_1/SConscript
:
Import('env')
build = env.Clone()
build['CCFLAGS'] += ['-DENABLE_FEAT_1']
build.VariantDir('build', '.', duplicate=0)
build_src = build.Glob('build/*.c')
import os
prog_name = os.getcwd().split(os.sep)[-1]
build.Program(prog_name +'.out', source = build_src)
Clean('.','build')
Когда я запускаю scons -u
из подкаталога prog_1, я получаю следующее:
[ananya@firenze prog_1]$ scons -u
scons: Entering directory `/home/ananya/test/scons-test'
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
scons: `prog_1' is up to date.
scons: done building targets.
Изменить: добавлено описание вывода.
Edit2: добавлено исправление скрипта.