Servertec iMake 1.5.3 09/04/2005

-----------------------------------------------------------------------------
CHANGES

iMake 1.5.3 09/04/2005
- initial open source release

iMake 1.5.2 01/04/2001
- reduced size of class files

iMake 1.5.1 10/05/2000
- updated documentation

iMake 1.5.0 08/13/2000
- added method isDefined() to return whether the specified identifier is
  currently defined
- added method isMacro() to return whether the specified identifier is
  currently defined as a macro
- added method getDefinition() to return the current definition of the
  specified identifier
- added method getLine() to return the current line being preprocessed
- added method getIdentifiers() to return an enumeration of defined
  identifiers
- Strings, Integers, Doubles and Booleans are now automatically converted as
  needed during expression processing
- Boolean values now return "true" or "false" when converted to a String
- added command line option, -e, to support embedded quotes within quoted
  strings using \ to preface quote
- fixed bug in define() that resulted in exception being thrown when a macro
  was being defined
- expanded documented API
- fixed bug that resulted in iMake hanging when javac compiled Java class
  files with errors

iMake 1.4.1 11/07/1999 
- improved performance by where possible replacing use of Strings with
  StringBuffers

iMake 1.4.0 02/14/1999 
- added touch utility
- updated error handler to catch additional exceptions and to generate
  friendlier messages
- removed use of System.exit()
- eliminated need for specifying dependencies in target definitions

iMake 1.0.0 02/14/1999 
- added support for specifying commands in target definitions

iMake 1.0.0 01/24/1999 
- alphabetized command line options
- command line option, -d, now undefines predefined environment variables
- added -d option, build if the time stamps are equal
- changed when targets are built, now targets are built only if target time
  stamp is older, prior to this release targets where built when the target
  time stamp was the same or older than the dependencies
- added support for recursive macro definitions by partially evaluating
  macros as they are being defined
- white spaces are now parsed as spaces
- colon : in target identifiers enclosed in quotes are now parsed properly
- updated documentation
- fixed bug where base target name was not being properly set and resulted in
  java.lang.StringIndexOutOfBoundsException: String index out of range
  exception being thrown
- quotes are now removed from target definitions
- fixed bug in how embedded spaces in a target definition enclosed by quotes
  are being parsed
- identifier definitions ending with \ can now be enclosed in quotes, example
  DIR_SEP = "\"
- fixed bug where evaluating include directive within if/ifdef/ifndef
  directive resulted in unexpected end of file while in if/ifdef/ifndef
- fixed bug where results from ## were not being evaluated recursively
- removed use of System.exit()

iMake 1.0.0 09/06/1998 
- updated documentation, macros can not be defined from the command line
  using -d
- fixed bug with macro and identifier identification
- changed how macros are defined
- fixed bugs with operations on doubles

iMake 1.0.0 08/22/1998 
- fixed bug with evaluating embedded macros

iMake 1.0.0 08/17/1998 
- verbose mode expanded to display defined identifiers, inferences and
  targets
- added java and c makefile examples
- embedded macros now supported in inference and target definitions
- eliminated need for root access

iMake 1.0.0 07/19/1998 
- integrated preprocessor
- cleanup html/format/spelling documentation

iMake 1.0.0 07/05/1998 
- fixed bug with macro processor
- improved performance, recompile without debug code
- updated iMake documentation

iMake 1.0.0 06/12/1998 
- created release.
- integrated iMake into Servertec's Web site
- cleanup iMake documentation
