SCons教程(8) 层级编译 Hierarchical Builds

本文详细介绍了SCons在多级目录结构中的层级编译,包括如何在SConstruct文件中导入和使用SConscript文件,以及如何通过variant_dir和VariantDir函数实现源目录与构建目录的分离,保持源码的整洁。此外,还提供了跨平台构建的示例,展示SCons的灵活性和效率。
摘要由CSDN通过智能技术生成

层级编译 Hierarchical Builds

在实际工程中,一般都是多级目录结构,不会出现对单一的目录进行构建。本章就开始介绍对于多级目录下,构建脚本的创建。

最顶层的文件为 SConstruct ,里面可以使用 SConscript 来导入其他的编译脚本。例如:

SConscript(['drivers/display/SConscript',
            'drivers/mouse/SConscript',
            'parser/SConscript',
            'utilities/SConscript'])

执行 scons 后,会对这些目录进行查找,然后将这些脚本内容导入到构建过程中,进行后期的构建工作。在导入一个 SConscript 后,还可以再次导入其他的构建脚本文件。可以修改成下面这样:

# SConstruct
SConscript(['drivers/SConscript',
            'parser/SConscript',
            'utilities/SConscript'])


# drivers/SConscript
SConscript(['drivers/display/SConscript',
            'drivers/mouse/SConscript'])

按照下面的文件创建,并填入内容:

// ./hello/hello.c
#include <stdio.h>

extern void hello2(void);
// hello
int main(void)
{
   
#ifdef HELLO
    printf("hello\r\n");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值