java: allow both dist_JAVA and nodist_JAVA in the same Makefile.am Fixes automake bug#8434. * automake.in (handle_java): Strip `dist_' and `nodist_' from the given prefix. Define a new internal Makefile variable `am__java_sources'. Related adjustments. * lib/am/java.am (JAVAC, JAVAROOT, CLASSPATH_ENV): Define only the first time this am file is processed. (class%DIR%.stamp): Stamp file renamed ... (class%NDIR%.stamp): ... to this, so that the `dist_' and `nodist_' prefixes are stripped from the name of the stampfile. Adjust declaration of dependencies by using the new automake-generated internal variable `$(am__java_sources)'. In the rule, use `$@' as the name of the target, rather than hard-coding it. * tests/java.test: Update and extend. * tests/java-no-duplicate.test: New test. * tests/java-mix-dist-nodist.test: Likewise. * tests/java-compile-and-install.test: Likewise. * tests/java-clean.test: Likewise. * tests/java-sources.test: Likewise. * tests/Makefile.am (TESTS): Update. Cherry-picked from commit v1.11-337-gd76b503.