Edit online

SCons 命令详解

14 Nov 2024
Read time: 1 minute(s)

SCons 是一个跨平台的构建系统,被广泛应用于软件开发项目中,支持在 Windows 和 Linux 上使用,且用法相同。本节列示了常用的 SCons 命令和功能。

项目罗列

使用 scons --list-def 命令可以罗列 SDK 中发布的所有项目名称,方便用户查看和管理可用的项目资源。示例如下:

scons --list-def
scons: Reading SConscript files ...
Built-in configs:
  0. d12x_demo68-nand_baremetal_bootloader
  1. d12x_demo68-nand_rt-thread_helloworld
  2. d12x_demo68-nor_baremetal_bootloader
  3. d12x_demo68-nor_rt-thread_helloworld
  4. d12x_hmi-nor_baremetal_bootloader
  5. d12x_hmi-nor_rt-thread_helloworld
  6. d13x_demo88-nand_baremetal_bootloader
  7. d13x_demo88-nand_rt-thread_helloworld
  8. d13x_demo88-nor_baremetal_bootloader
  9. d13x_demo88-nor_rt-thread_helloworld
  10. d13x_kunlunpi88-nor_baremetal_bootloader
  11. d13x_kunlunpi88-nor_rt-thread_helloworld
  12. d21x_demo128-nand_baremetal_bootloader
  13. d21x_demo128-nand_rt-thread_helloworld
  14. g73x_demo100-nor_baremetal_bootloader
  15. g73x_demo100-nor_rt-thread_helloworld

使用项目

使用命令 scons --apply-def=[项目索引或名称] 可以选择特定的项目配置进行构建,命令中可以使用项目名称或项目索引完成构建。
> scons --apply-def=3
scons: Reading SConscript files ...
Load config from target\configs\d12x_demo68-nor_rt-thread_helloworld_defconfig

scons --apply-def=d12x_demo68-nor_rt-thread_helloworld_defconfig
scons: Reading SConscript files ...
Load config from target\configs\d12x_demo68-nor_rt-thread_helloworld_defconfig

配置项目

使用命令 scons --menuconfig 可调出 menuconfig 图形界面,以便根据需要调整项目设置。

scons --menuconfig
menuconfig GUI 界面示例如下:

../../_images/lbl-menuconfig1.png

构建项目

运行命令 scons 开始构建过程。默认在简洁模式下进行构建,不会输出编译选项等信息。调试时可以使用 scons --verbose 来显示更详细的编译信息,包括编译器选项等。

scons
scons: Reading SConscript files ...
>>> Extract toolchain Xuantie-900-gcc-elf-newlib-mingw ...

清理项目

运行命令 scons --clean 清除上一次编译构建过程中生成的所有临时文件,确保在下一次编译构建时,所有源文件都会被重新编译。

scons --clean
scons -c