1
目標這是我的主要SConstruct文件SCons的 - 如何提供顯式依賴於跨腳本
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
不存在。
建立這種目標關係的最佳方式是什麼?最好我希望改變它的行爲,使它只產生將要被編譯的源。
我已經找到了一種方法在我的compile.scons文件中導出()'我生成的源文件節點和'導入()'這些文件,正如預期的那樣工作,設置了正確的依賴關係。謝謝! – koo 2012-02-17 00:46:23