关于构建系统可以先参考百科
http://en.wikipedia.org/wiki/List_of_build_automation_software
http://www.drdobbs.com/tools/a-build-system-for-complex-projects-part/218400678
A Build System for Complex Projects
如下是C/C++语言常用的构建工具
make
http://en.wikipedia.org/wiki/Make_(software)
http://www.amazon.com/Managing-Projects-Make-Nutshell-Handbooks/dp/0596006101/ref=sr_1_3?ie=UTF8&qid=1368420450&sr=8-3&keywords=autoconf
Managing Projects with GNU Make
GNU autotools
http://www.amazon.com/Autotools-Practioners-Autoconf-Automake-Libtool/dp/1593272065/ref=sr_1_1?ie=UTF8&qid=1368420450&sr=8-1&keywords=autoconf
utotools: A Practioner's Guide to GNU Autoconf, Automake, and Libtool
cmake
http://www.cmake.org/
a Makefile-generator (also generates native MSVC++ *.proj
/*.sln
).
scons
http://www.scons.org/
SCons is an Open Source software construction tool—that is, a next-generation build tool. Think of SCons as an improved, cross-platform substitute for the classicMake utility with integrated functionality similar to autoconf/automake and compiler caches such as ccache. In short, SCons is an easier, more reliable and faster way to build software.
Blade
http://code.google.com/p/typhoon-blade/
Blade 是一个现代构建系统,期望的目标是强大而好用,把程序员从构建的繁琐中解放出来。
Blade主要定位于linux下的大型C++项目,密切配合研发流程,比如单元测试,持续集成,覆盖率统计等。但像unix下的文本过滤程序一样,保持相对的独立性,可以单独运行。目前重点支持i386/x86_64 Linux,未来可以考虑支持其他的类Unix系统。
tup
http://gittup.org/tup
It inputs a list of file changes and a directed acyclic graph (DAG), then processes the DAG to execute the appropriate commands required to update dependent files. Updates are performed with very little overhead since tup implements powerful build algorithms to avoid doing unnecessary work. This means you can stay focused on your project rather than on your build system.
另外还有我们常用的VS套件