CHANGES version 2.3
This file summarizes changes made since mmake 1.26
* 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.
* 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.)
* 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
* Refactored the unnecessary complicated eval construct - thanks to
Trond Michelsen <trondmm at a.sol.no>
* 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 imm.dtu.dk>
* 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".
* 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