Best Practices
-  Put all the project's elements under the build system
 
-  Minimize work through dependency analysis 
 
-  Modularize the build into several targets 
 
-  Common include files 
 
-  Explore parallel builds to reduce build times 
 
-  Provide a way to build from scratch 
 
-  Create a tinderbox build