關於構建系統可以先參考百科
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套件