Many of the generated files are dependant on Makefile, since they are generated by code in Makefile; can weaken that. Also the .jar is dependant on the .so when it just needs to depend on the individual .java files.
Index: frysk-imports/common/ChangeLog 2006-05-12 Andrew Cagney <cagney@redhat.com> * Makefile.rules (files.list): Remove dependency on lib${GEN_DIRNAME}.a. (.javain.java): Remove dependency on Makefile. ($(GEN_SOURCENAME)/Build.java): Ditto. (TestRunner.java): Ditto. ($(GEN_SOURCENAME)/JUnitTests.java): Ditto. (ecj/checked): Add $(GEN_DIRNAME).jar.