GNU make 3.80 is a HUGE memory hog. It calls xstrdup to build dependency list. gnu-src-gcc.deps in libjava has 3000+ targets depend the same 3000+ files, whose filenames are more than 260K. For this dependency alone, make takes 3000*260K == 761MB.
Then, you should make the 3000+ target depend on the same stamp file, and touch the stamp file whenever one of the 3000+ files are changed. These would make 6000 dependencies, not 3000^2 = 9 million (which is not going to be that efficient anyway).
Also, GNU make is not released that often, and it does not seem plausible that we require a CVS make to build libjava on a machine with <1 GB.
Paolo