From 17663feed2cc2ffc40cb47d583ce83cf911bf9be Mon Sep 17 00:00:00 2001
From: Greg Williams <williams@atomicembedded.com>
Date: Mon, 13 Feb 2012 08:44:04 -0500
Subject: [PATCH] Added directory task to create temp build/ folder, and added
 .gitignore to prevent this new folder form being tracked by git.

---
 .gitignore         |  1 +
 rakefile.rb        | 19 +++++++++++++++----
 rakefile_helper.rb |  8 ++++----
 3 files changed, 20 insertions(+), 8 deletions(-)
 create mode 100644 .gitignore

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d163863
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+build/
\ No newline at end of file
diff --git a/rakefile.rb b/rakefile.rb
index 6e2d347..789804a 100644
--- a/rakefile.rb
+++ b/rakefile.rb
@@ -4,12 +4,23 @@
 #   [Released under MIT License. Please refer to license.txt for details]
 # ========================================== 
 
-HERE = File.expand_path(File.dirname(__FILE__)) + '/'
+UNITY_ROOT = File.expand_path(File.dirname(__FILE__)) + '/'
 
 require 'rake'
 require 'rake/clean'
 require 'rake/testtask'
-require HERE + 'rakefile_helper'
+require UNITY_ROOT + 'rakefile_helper'
+
+TEMP_DIRS = [
+	File.join(UNITY_ROOT, 'build')
+]
+
+TEMP_DIRS.each do |dir|
+  directory(dir)
+  CLOBBER.include(dir)
+end
+
+task :prepare_for_tests => TEMP_DIRS
 
 include RakefileHelpers
 
@@ -18,7 +29,7 @@ DEFAULT_CONFIG_FILE = 'gcc.yml'
 configure_toolchain(DEFAULT_CONFIG_FILE)
 
 desc "Test unity with its own unit tests"
-task :unit do
+task :unit => [:prepare_for_tests] do
   run_tests get_unit_test_files
 end
 
@@ -33,7 +44,7 @@ task :summary do
 end
 
 desc "Build and test Unity"
-task :all => [:clean, :scripts, :unit, :summary]
+task :all => [:clean, :prepare_for_tests, :scripts, :unit, :summary]
 task :default => [:clobber, :all]
 task :ci => [:no_color, :default]
 task :cruise => [:no_color, :default]
diff --git a/rakefile_helper.rb b/rakefile_helper.rb
index 926c5a0..8ef0d5b 100644
--- a/rakefile_helper.rb
+++ b/rakefile_helper.rb
@@ -6,9 +6,9 @@
 
 require 'yaml'
 require 'fileutils'
-require HERE+'auto/unity_test_summary'
-require HERE+'auto/generate_test_runner'
-require HERE+'auto/colour_reporter'
+require UNITY_ROOT + 'auto/unity_test_summary'
+require UNITY_ROOT + 'auto/generate_test_runner'
+require UNITY_ROOT + 'auto/colour_reporter'
 
 module RakefileHelpers
 
@@ -163,7 +163,7 @@ module RakefileHelpers
   
   def report_summary
     summary = UnityTestSummary.new
-    summary.set_root_path(HERE)
+    summary.set_root_path(UNITY_ROOT ) 
     results_glob = "#{$cfg['compiler']['build_path']}*.test*"
     results_glob.gsub!(/\\/, '/')
     results = Dir[results_glob]