【发布时间】:2016-06-08 11:55:17
【问题描述】:
我有以下文件系统结构
+-sources+-A
| + source files
| +-B
| + source files
| +-C
| + source files
|
sharedLib
+-libA.so
+-libB.so
+-libC.so
libB.so 依赖于 libC.so。 libA.so 依赖于 libB.so
默认情况下,如果 source/C 目录下的文件发生更改,SCons 会重建所有三个库。我只需要重建 libC.so 共享库,不要碰其他两个。
我尝试添加environment.Ignore('sharedLib/libB.so', 'sharedLib/libC.so'),但没有帮助。
【问题讨论】:
-
请向我们展示您的 SConstruct/SConscript,以便我们了解您如何设置构建。您可能还想尝试命令行选项
--debug=explain(查看 MAN 页面)以了解更多关于为什么 SCons 认为您的目标需要重建。 -
我无法显示我的 Sconstruct,因为它不存在。相关命令由在 SCons 内部运行的 Python 脚本而不是静态 Sconstruct 动态生成。
-
嗯,带有生成命令的脚本也可以。或者您尝试派生一个与您的脚本中使用的结构相似的简单 MWE 并将其发布。也许您可以将 Kenneth 的初步回答作为起点?
-
我真的不能把我的脚本放在这里。这是一个商业产品,我被禁止发布任何具体细节。
标签: dependencies scons