首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Jam中定义跨目录依赖项

在Jam中定义跨目录依赖项
EN

Stack Overflow用户
提问于 2008-10-13 19:30:14
回答 1查看 476关注 0票数 2

经过多年的使用make,我才刚刚开始在我的项目中使用果酱(实际上是ftjam)。

在我的项目工作区中,我有两个目录:

  • 构建可执行文件和库的src
  • test,我的测试程序在那里

我试图设置对测试程序的依赖,以便每次编译它们时,库也会被重新编译(如果需要的话)。

对怎么做有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2013-08-26 00:03:50

我正在使用我的一个项目中的Jam,并且遇到了您的情况。我的可执行程序位于bin子目录中,静态库保存在lib子目录中。

在我的顶级Jamfile中,我输入了SubDir TOP ;。这将初始化$(TOP)变量以指向包含此Jamfile的目录。然后我添加了一些行,比如SubInclude TOP bin llvm-tblgenSubInclude TOP lib Support,它们将bin/llvm-tblgenlib/Support中的Jamfile的内容添加到构建中。

bin/llvm-tblgen中的Jamfile中,我输入SubDir TOP bin llvm-tblgen ;。我在lib/Support中的Jamfile中也这样做,但是我使用SubDir TOP lib Support ;。输入SubDir规则时的关键是从TOP到包含此Jamfile的目录中键入每个子目录的名称。

然后,当设置可执行目标的链接行时,我引用支持库如下所示:$(TOP)/lib/Support/libLLVMSupport.a。Jam将这个路径扩展到libLLVMSupport.a的位置,相对于我运行Jam的位置,即使我cd到bin/llvm-tblgen目录并从那里手动运行Jam。

这使得管理包含跨目录依赖关系的大型项目变得非常容易。与以前的解决方案不同,此解决方案允许直接运行Jam。希望它能帮到你!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/198743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档