【发布时间】:2012-02-16 00:37:07
【问题描述】:
这是我的主要 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不存在.
模拟这种目标关系的最佳方法是什么?最好我希望改变它的行为,使它只生成要编译的源代码。
【问题讨论】:
标签: dependencies code-generation scons