I ran your script and generated the directory structure. I then ran make -R using the latest CVS source built with debugging but no optimization, with valgrind. The results are:
$ valgrind /app/global/.builds/psmith/gmake/make/make -R ==20399== Memcheck, a.k.a. Valgrind, a memory error detector for x86-linux. ==20399== Copyright (C) 2002, and GNU GPL'd, by Julian Seward. ==20399== Using valgrind-1.9.6, a program instrumentation system for x86-linux. ==20399== Copyright (C) 2000-2002, and GNU GPL'd, by Julian Seward. ==20399== Estimated CPU clock rate is 1815 MHz ==20399== For more details, rerun with: -v ==20399== echo "completed successfully" completed successfully ==20399== ==20399== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) ==20399== malloc/free: in use at exit: 3159739 bytes in 40393 blocks. ==20399== malloc/free: 191560 allocs, 151167 frees, 3280102073 bytes allocated. ==20399== For a detailed leak analysis, rerun with: --leak-check=yes ==20399== For counts of detected errors, rerun with: -v So, no memory leaks, buffer overruns, etc. GNU make did have 3.1M of dynamic memory allocated when it exited. Given 10,000 targets (remember every makefile is considered a target, so that we can do auto-re-exec) that's 315 bytes per target if _ALL_ that RAM were used only for storing targets, which it is not of course. -- ------------------------------------------------------------------------------- Paul D. Smith <[EMAIL PROTECTED]> Find some GNU make tips at: http://www.gnu.org http://make.paulandlesley.org "Please remain calm...I may be mad, but I am a professional." --Mad Scientist _______________________________________________ Bug-make mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-make