def substitute(value)
      if value=~/\$\(.*\)/
        value.gsub(/\$\((.*)\)/) do |match|
          case match
            when "$(TARGET_NAME)"
              @target.name 
            else
              raise "Unknown substitution variable #{match}"
          end
        end
      else
        value
      end
    end
def substitute(value)
      if value=~/\$\(.*\)/
        value.gsub(/\$\((.*)\)/) do |match|
          case match
            when "$(TARGET_NAME)"
              @target.name 
            else
              raise "Unknown substitution variable #{match}"
          end
        end
      else
        value
      end
    end
Within the configuration properties variables reference the target,
 i.e."$(TARGET_NAME)". This method will find and replace the target
 constant with the appropriate value.

 @param [String] value is a property of the configuration that may contain
   the target variable to replace.

 @return [String] a string without the variable reference.

 @todo move this to a decorator that wraps the other objects that load/save
   properties