Scons:将多个目标合并为一个
Scons: combining multiple targets into one
我的项目中有几个环境。
当我使用目标 target1
构建一些二进制文件和共享库时。
我想使用目标 target2
构建一个二进制文件,并完成 target1
的所有工作
我想实现以下目标,
- 为命令
scons target1
构建并安装 program1
和 library1
- 为命令
scons target2
构建并安装 program1
、program2
和 library1
实现此目标的正确方法是什么?
将多个目标组合到一个符号名下的正确方法是Alias()
命令。查看 http://scons.org/doc/production/HTML/scons-user.html 上的用户指南,尤其是第 25 章。"Alias Targets"。请注意,Alias
本身就是一个目标节点,因此您可以将多个定义的别名 #1-#3 组合成一个全局别名,例如:
alias1 = Alias("alias1", "target1")
alias2 = Alias("alias2", "target2")
alias3 = Alias("alias3", "target3")
Alias("all", [alias1, alias2, alias3])
,您还可以在其中将每个 "target" 字符串替换为对实际 file/dir 节点的引用,因为它由 Builder 返回...
我的项目中有几个环境。
当我使用目标 target1
构建一些二进制文件和共享库时。
我想使用目标 target2
构建一个二进制文件,并完成 target1
我想实现以下目标,
- 为命令
scons target1
构建并安装 - 为命令
scons target2
构建并安装
program1
和 library1
program1
、program2
和 library1
实现此目标的正确方法是什么?
将多个目标组合到一个符号名下的正确方法是Alias()
命令。查看 http://scons.org/doc/production/HTML/scons-user.html 上的用户指南,尤其是第 25 章。"Alias Targets"。请注意,Alias
本身就是一个目标节点,因此您可以将多个定义的别名 #1-#3 组合成一个全局别名,例如:
alias1 = Alias("alias1", "target1")
alias2 = Alias("alias2", "target2")
alias3 = Alias("alias3", "target3")
Alias("all", [alias1, alias2, alias3])
,您还可以在其中将每个 "target" 字符串替换为对实际 file/dir 节点的引用,因为它由 Builder 返回...