I've been considering working around this problem by just redoing the
whole .java->.class step whenever any .java file changes.  That would
probably be slower for libgcj developers but at least wouldn't hugely
hurt folks working elsewhere.  Also, most class library development
happens in Classpath these days anyway.

Like Andrew, I would like dependencies between one Java file and all the class file in the package. This would also help on parallelization.

A possibility (which can be applied either if you have a single huge .java->.class step, or if you make it more fine grained) is to make all class files depend on all sources via an intermediate rule, like

gnu/java/lang/a.class gnu/java/lang/b.class gnu/java/lang/c.class: \
  gnu/java/lang.stamp
        touch $@

gnu/java/lang.stamp: \
  gnu/java/lang/a.java gnu/java/lang/b.java gnu/java/lang/c.java
        $(JAVAC) $?
        echo stamp > $@

Paolo

Reply via email to