使用 SCons 代替 Makefile 快速构建应用程序
0 Introduction
为 make 工具编写建造规则不是一件容易的事。它复杂的配置规则,即使是有经验的开发者也望而生畏。make 工具的许多替代品便因此而诞生,SCons 就是是其中之一。SCons 是一个用 Python 语言编写的类似于 make 工具的程序。与 make 工具相比较,SCons 的配置文件更加简单清晰明了,除此之外,它还有许多的优点。
SCons 支持多种操作系统平台,实现程序的构建可移植性。
1 Install
$ tar -xvf scons-2.0.1.tar
$ cd scons-2.0.1
$ sudo python setup.py install
2 Hello World
2.1 Source File
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
printf("Hello, SCons!\n");
return 0;
}
2.2 Config File
Program('helloscons.c')
2.3 Build
$ ls helloscons
helloscons.c SConstruct
$ cd helloscons/
$ scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o helloscons.o -c helloscons.c
gcc -o helloscons helloscons.o
scons: done building targets.
$ ls
helloscons helloscons.c helloscons.o SConstruct
$ ./helloscons
Hello, SCons!
2.4 Run
$ ./helloscons
Hello, SCons!
2.5 Clean
$ scons -c
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Cleaning targets ...
Removed helloscons.o
Removed helloscons
scons: done cleaning targets.
$ ls -a
helloscons.c SConstruct .sconsign.dblite
3 Improve your skills!
3.1 Specify your executable file name
Program('myscons, 'helloscons.c')
3.2 Be quiet when building!
$ scons -Q
3.3 A little more complicated program
Program('helloscons2', ['helloscons2.c', 'file1.c', 'file2.c'],
LIBS = 'm',
LIBPATH = ['/usr/lib', '/usr/local/lib'],
CCFLAGS = '-DHELLOSCONS')
$ scons -Q
gcc -o file1.o -c -DHELLOSCONS file1.c
gcc -o file2.o -c -DHELLOSCONS file2.c
gcc -o helloscons2.o -c -DHELLOSCONS helloscons2.c
gcc -o helloscons2 helloscons2.o file1.o file2.o -L/usr/lib -L/usr/local/lib -lm
3.4 Regular expression
Program('helloscons2', Glob('*.c')
4 Reference
- http://www.ibm.com/developerworks/cn/linux/l-cn-scons/index.html?ca=drs-
-
转载请注明来自“柳大的CSDN博客”:blog.CSDN.net/Poechant
-
分享到:
相关推荐
使用SCons,开发者可以在多个平台上编写一次构建脚本,而无需针对不同平台进行修改,这对于跨平台项目来说是一个巨大的优势。Python的易读性和丰富的库使得SCons的脚本更易于维护和扩展。此外,由于SCons具有自动...
《使用SCons构建MDK工程:从源码到串口通信》 在嵌入式开发领域,Keil uVision(MDK)是一款广泛使用的集成开发环境,尤其在C语言编程中,它以其强大的调试功能和良好的用户体验而备受青睐。然而,当项目变得复杂时...
SCons是一种开源的构建系统,它使用Python脚本语言编写,与传统的Makefile工具类似。SCons旨在解决Makefile中一些常见的问题,例如难以编写和维护的脚本、不同的编译器和工具链配置以及对脚本的执行环境的依赖。...
SCons的主要特点是使用Python脚本进行构建,并且可以跨平台使用。本指南将详细介绍SCons的使用方法和配置。 一、安装SCons 在使用SCons之前,需要先安装Python和SCons。Python是SCons的核心语言,SCons是基于...
SCons 用户使用手册 SCons 是一个基于 Python 的自动构建工具,旨在取代传统的 make 工具。它可以自动地构建和维护...RT-Thread 和 Mapnik 等项目都使用 SCons 作为构建工具,使得开发者可以快速地构建和维护项目。
- SConstruct文件是SCons项目的主要配置文件,类似于Makefile,但使用Python语法。 - SCons基于文件依赖性,自动跟踪源文件的改变,仅重建必要的目标文件,提高了构建效率。 2. **SCons的安装与配置**: - 安装...
3. **Python语法**:SCons使用Python语法,使得构建脚本更易理解和维护,而Makefile的语法较为复杂,学习曲线较陡峭。 三、SCons在OpenWRT中的应用 OpenWRT是一个高度模块化的、小巧的Linux发行版,广泛应用于...
SCons的构建过程是基于Python脚本的,也就是说,SCons的构建脚本实际上是一个Python程序,这就意味着用户可以利用Python强大的功能来编写构建脚本,包括条件语句、循环和函数等,而不需要学习和使用特定于SCons的...
总结来说,GNU Build Packages for SCons通过提供一个基于SCons的构建流程,简化了原本使用GNU Autotools的软件的构建过程,使得开发者能够更高效、更灵活地管理他们的项目。开源的特性进一步促进了社区的发展,推动...
这表明 SCons-Man 中涉及了复杂的图形渲染和图像处理技术,为开发高性能的图形应用程序提供了支持。 ### 总结 SCons-Man 不仅是一份关于 SCons 构建工具的文档集合,更是一系列深入探讨 SCons 高级特性的资源。...
`map.os`、`layer.os`、`symbolizer.os`等组件表明SCons在地理信息系统构建中的应用,可能包括地图数据的处理、图层管理以及符号化表达等功能。这些模块通常依赖于其他开源库如`libmapnik.so`、`agg`、`libxml2_...
- SCons 是一种构建工具,类似于传统的 Makefile 工具,但使用 Python 编写,使得配置更加灵活和易于维护。 - SCons 的核心优势在于其简洁性和可扩展性,通过 Python 的强大功能可以实现更为复杂的构建逻辑。 - *...
scons有非常多相对于make构建系统的优秀特性,可是因为发展时间比較短如今的应用范围还是不太多,可以找到的资料也不是非常多。 scons如今一大问题就是初始上手还是有点难度的,对于有python的基础的还是有点问题,...
3. **易于使用**:SCons使用Python脚本来定义构建规则,这使得构建过程更加可读、可维护,并且可以利用Python的全部功能。 4. **自包含**:SCons不需要在目标系统上安装额外的构建工具,只需Python环境即可。 5. **...
SCons是一个开源的构建工具,它使用Python编程语言编写,为软件构建过程提供了一种高效、可扩展且跨平台的解决方案。"scons安装包"指的是包含SCons库及其相关文件的压缩文件,版本为2.3.5。在本文中,我们将详细探讨...
SCons是一款跨平台的编译脚本工具,它允许用户无需编写makefile即可实现项目的编译构建。SCons使用Python语言编写,它具有极高的灵活性和可配置性,并且能够支持多种编程语言构建。 首先,SCons用户手册开篇介绍了...
SCons是一款强大的构建工具,广泛应用于软件开发领域,特别是C++、Python等编程语言的项目。它是一个替代传统Make工具的现代解决方案,以其易用性、可扩展性和跨平台特性而受到开发者的青睐。SCons的全称是...
首先,SCons的设计理念是替代传统的Makefile系统,它旨在简化编译和构建过程,尤其是对于大型、多模块的项目。SCons基于Python,这意味着它拥有Python的灵活性和可读性,同时也能够利用Python的生态系统,如第三方库...
SCons则是一个构建工具,它使用Python编写,用于自动化软件构建过程,替代传统的Make工具。 首先,让我们详细讨论Python的安装。Python提供了适用于各种操作系统(包括Windows)的安装程序。对于64位Windows系统,...
总结起来,`qtmainwindow`项目展示了如何使用SCons这一Python构建工具来管理Qt GUI应用程序的构建流程。通过理解和实践这个示例,开发者可以更好地掌握Qt和SCons的结合使用,提高开发效率,尤其是对于那些习惯于...