我的构建过程的一部分是创建一个输入目录的 tar 文件,位于src/bundle/bundle
. 在 src/bundle/SConscript 中:
Import('*')
bundleDir = Dir("bundle")
jsontar = Command("bundle.tar", bundleDir,
"/home/dbender/bin/mkvgconf $SOURCE $TARGET")
在我的 SConstruct 中:
SConscript(Split('src/bundle/SConscript'),
exports='bin_env lib_env', build_dir='tmp/bundle')
尝试构建时:
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
/home/dbender/bin/mkvgconf tmp/bundle/bundle tmp/bundle/bundle.tar
Input directory tmp/bundle/bundle not found!
scons: *** [tmp/bundle/bundle.tar] Error 1
scons: building terminated because of errors.
显然 scons 没有将 src/bundle/bundle 复制到 tmp/bundle/bundle,但我不知道为什么。
脚注:对 mkvgconf 使用绝对路径名是不好的做法,但在我解决这个问题之前只是中间的。