有没有办法在顶级目录中拥有一个Sconstruct.common,它具有各个子目录共有的所有编译器/链接器选项,并且在每个单独的子目录中都有单独的Sconstruct文件,并带有自定义选项,用于指定其他参数。编译器/链接器选项?
(类似于在顶层目录中使用Makefile.common,在包含Makefile.common的子目录中使用单个Makefile,并使用变量添加额外的args)
感谢, 普拉卡什
答案 0 :(得分:2)
是的,Scons通常使用顶级SConstruct文件进行组织,该文件在项目的子目录中设置公共构建命令(在环境中)和SConscript文件,这些子目录构建本地工件(对象,库,可执行文件等) 。在顶级SConstruct中,使用SConscript command列出要包含的SConscript文件。在SConscript文件中,您可以根据特定构建命令的需要覆盖某些环境变量,也可以克隆您的公共构建环境并以这种方式覆盖变量。
我强烈建议您阅读Scons User's Guide。
此外,Scons是python,因此您还可以使用import
python代码来构建或部署可能在项目中常见的操作。