CHANGES version 2.3

	  This file summarizes changes made since mmake 1.26

Version 2.3:

* This release is based on a patch from Ryan David Brown <rdbrown at
  ucsd!edu>; The patch adds support for building an OS X application
  bundle and for building individual packages. A new JAVADOC_PACKAGES
  variable was also added to the Makefile. This variable can be used
  to specify packages to build javadocs for (the default is to build
  javadocs for all packages). Finally, the generated Makefile also
  include a makefile.vars file that can be used to override default
  variables used in the Makefile. Credits for this release goes to
  Ryan David Brown.

Version 2.2.1:

* Fixed the potential circular dependency problem in the dependency
  graph, which occur when there is a dual dependency between two or
  more classes. The trick is to let .class files depend on only .java
  files in the graph, not on other .class files. Thanks to Tim Oberg
  <toberg at rice!edu>.  (Addendum, With this dependency graph strategy
  the built-in dependency check in the java compiler may kick in and
  compile depending java files in the "background" before make will
  get a chance to compile the file. This is not a problem, (on the
  contrary) but can give the impression that make forgot to compile
  classes, when looking at the output from make.)

Version 2.2:

* Added uninstall target

* CPP now runs first, before any .java files are compiled. This, to
  avoid errors in a situation where a.xjava depends on b.xjava. CPP
  will also run first in the depend target for the same reason.

* Removed unnecessary multiple dependencies for .xjava files in

Version 2.1.1:

* Refactored the unnecessary complicated eval construct - thanks to
  Trond Michelsen <trondmm at> 

Version 2.1:

* Configure script and Makefile. The configure script will setup mmake with  
  the local Perl-interpreter and with jikes as the java compiler. If jikes 
  is not found, javac is used instead.

* Added prototyping to avoid warning messages with Perl version 5.6 or later

* tags target - Submitted by Jesper Hansen <jha at>

Version 2.0:

* Added support for installing resource files together with class
  files. Resource files are files used by an application or Applet.
  Types of resource files are, *.properties, *.gif or *.au. 

  For example, if you have a directory in the package structure
  with only property files (e.g. for Localized ResourceBundles) like:
  org/mydomain/myapplication/resources/ then this directory and the 
  property files will be installed when you do a 'make install'. This
  is especially usefull when working with the new Servlet 2.2 api and
  web-applications, and you want to install property files into e.g.

* Added dependency check for resource files as well. When a jar file
  is created it will now be re-buildt if a resource file was changed. 
  Thanks to "David D. Kilzer".

Version 1.31:

* Escaping the $ delimiter in inner classes. `make install' had problem
  installing inner-classes unless the delimiter was escaped.

* Removed the GNU find syntax and falling back to using standard find
  syntax when searching for source files.

* Updated the README file.

* Added version options to the script

< Back