Это мой основной файл SConstruct.
env = Environment()
gen_source = env.SConscript(
'generate_sources.scons',
variant_dir='derived_src', src_dir='src',
duplicate=0)
compile_source = env.SConscript('compile.scons',
variant_dir='build', src_dir='derived_src',
duplicate=0)
env.Depends('build/', 'derived_src/')
. gen_source
- это сценарий с одним целевым источником генератора, который выводит файлы в derived_src/
из моего исходного каталога, а compile_source
- это сценарий снесколько целей.
Если цель не указана в командной строке, т. е. запустить scons
, она сгенерирует источники, а затем скомпилируется, но если цель указана, например, scons pg_test
, то scons не будет работать и пожаловатьсяderived_src/some_file
не существует.
Как лучше всего моделировать такое соотношение целей?Предпочтительно я надеюсь изменить его поведение так, чтобы оно генерировало только те источники, которые будут скомпилированы.