Build 如何扩展klee(llvm)构建系统? 上下文

Build 如何扩展klee(llvm)构建系统? 上下文,build,klee,Build,Klee,我正在制作一个klee(http://klee.llvm.org)fork希望清理我们的存储库,将我们的东西与“规范的”klee代码分开。无论如何,我在理解/扩展构建系统方面有困难 问题 /lib/中的目录结构如下所示 Basic/ Core/ Support/ Expr/ Solver/ Module/ Mine/ 我的是我刚刚添加的,到目前为止,我们将所有内容都放在了核心中,我将其移动到我的。如何告诉构建系统正确地执行此操作 我的尝试 由于无法自己解决这个问题,我编辑了/lib/Makef

我正在制作一个klee(http://klee.llvm.org)fork希望清理我们的存储库,将我们的东西与“规范的”klee代码分开。无论如何,我在理解/扩展构建系统方面有困难

问题
/lib/
中的目录结构如下所示

Basic/
Core/
Support/
Expr/
Solver/
Module/
Mine/
我的
是我刚刚添加的,到目前为止,我们将所有内容都放在了
核心
中,我将其移动到
我的
。如何告诉构建系统正确地执行此操作

我的尝试 由于无法自己解决这个问题,我编辑了
/lib/Makefile

LEVEL=..

PARALLEL_DIRS=Basic Support Expr Solver Module Core Mine

include $(LEVEL)/Makefile.common
并将
/lib/Core/Makefile
复制到
/lib/Mine/Makefile
,同时将
LIBRARYNAME=kleeCore
更改为
LIBRARYNAME=kleeMine

警告
我觉得这不是正确的方法,我宁愿修改一些配置脚本或其他东西。另外,它不链接(虽然它是编译的)。

一位同事刚刚告诉我如何让它链接,这是通过修改
/tools/klee/Makefile

USEDLIBS = kleeCore.a kleeModule.a kleaverSolver.a kleaverExpr.a kleeSupport.a kleeBasic.a kleeMine.a

我不确定你是否应该这样做。但它似乎奏效了。因此,如果在合理的时间内没有更好的建议,我将保留此解决方案。