When you use the latest version of Demeter, you have to be a little careful about how you call the make file: use "make test": if you added new classes and modified existing ones use "make new" (or "make clean" followed by "make test"): if you deleted a class or you changed the name of an existing class. Java has pretty good binary compatibility rules. I hope that Doug Orleans' suspicion is not true (see below). -- Karl Lieberherr From dougo@ccs.neu.edu Wed Feb 26 12:43:58 1997 From: Doug Orleans To: lieber@ccs.neu.edu cc: mtheroux@ccs.neu.edu, lth@ccs.neu.edu, johan@ccs.neu.edu, kedar@ccs.neu.edu, binoy@ccs.neu.edu, ghulten@ccs.neu.edu Subject: Re: Makefile > Mike was pointing out that when a class is deleted or has its > name changed, the old *.java file is not eliminated. > > Please can you check whether this is indeed the case. Yes, that is indeed the case; I thought I had warned about this, but I guess I forgot... I'm also not convinced that if a file doesn't change, it doesn't need to be recompiled. I will probably work up some tests to verify my suspicion. Hopefully there is some tractable way to determine the minimal set of source files that need to be recompiled, but it may involve writing a more specialized replacement for GNUmakefile. Until then, you just need to be careful to delete old .java files from the gen/ directory. You should always be able to "make new" to guarantee that everything is consistent, though-- if you have the time to wait... --Doug