SCons 简介
SCons 是一套由 Python 语言编写的开源构建系统,类似于 GNU Make。它采用不同于通常 Makefile 文件的方式,而是使用 SConstruct 和 SConscript 文件来替代。这些文件也是 Python 脚本,能够使用标准的 Python 语法来编写。所以在 SConstruct、SConscript 文件中可以调用 Python 标准库进行各类复杂的处理,而不局限于 Makefile 设定的规则。
RT-Thread中Scons的脚本结构
SCons 使用 SConscript 和 SConstruct 文件来组织源码结构并进行构建,SConstruct是scons构建的主脚本,SConscript存放在源代码的子目录下,通常放在项目的子目录,以达到分层构建的目的。一个项目 (BSP) 只有一 SConstruct,但是会有多个 SConscript。一般情况下,每个存放有源代码的子目录下都会放置一个 SConscript。
/
-- rtconfig.py ---- 控制SCons构建的配置文件,存放了如工具链,构建参数等配置,SConstruct中 import rtconfig 就是找这个文件。
-- SConscript
-- SConstruct ---- SCons的入口脚本,初始化了SCons构建rt-thread所需的必要环境
-- Kconfig ---- 顶层Kconfig文件,menuconfig的入口Kconfig文件
-- rt-thread/
--- src/
---- SConscript ---- 各级源码的scons子脚本,控制当前级别下的源码构建行为
---- Kconfig ---- 各级源码的Kconfig子脚本,存放当前级别下的配置项
---- **.c
SConstruct 中应用rtconfig.LINK_SCRIPT实际就是在rtconfig.py中找LINK_SCRIPT
参考:
https://www.rt-thread.org/document/site/#/development-tools/build-config-system/SCons?id=sconshttps://os.iot.10086.cn/doc/oneos_cube/scons_script.html