Goals:


Be able to build in one step:

      eg, shouldn't need to run multiple scripts and commands to build a project
      shouldn't need to build dependancies, should be worked out by single build step
	
Recommended reading:

          http://www.xs4all.nl/~evbergen/nonrecursive-make.html

Have daily builds:

      Automatically check out and build the code nightly (or during the day)
      Also if the same system can run through automated test suite
      Best is if on each submit the code is automatically built and tested

Tip:

      Use git-bisect or svn-bisect to find more quickly which change broke something

Joel's Test:

      Can you make a build in one step?      (can you just type make, yes?)
      Do you make daily builds?              (can you use cron to run make?)

Meditation:

      Assuming a UNIX environment, any build process (non-GUI ones), can be
      wrapped with a script to run the commands needed to build a system,
      however complex. Any script can be made to be run from make when
      added to the Makefile. Therefore it should always be possible to build
      a system with just one command to remember, 'make'. Optionally if the
      system has different configurations, make + target.