Keith,
I've seen this reported once before;  I could not reproduce it.  I
did exactly as Greg did, and *everything* built successfully, with
only a few minor, and easily corrected warnings.  You should *not*
have needed to remove the `sleep' reference; there may be some
defect in your MSYS or MinGW installation.
  
It might be indeed. But unfortunately, I cannot spot what...
Yet, I just have one problem, at both the end of the "make" and
"make install" batches. It says:

rm: cannot unlink `make.exe': Permission denied
make[1]: *** [make.exe] Error 1
    

This happens when you try to replace the `make.exe' which is running
your actual build process.  In this particular case, it appears that
you are trying to overwrite the make.exe in your MSYS /bin directory;
you must not do this.
  
The fact is that I would actually like to have replace it, yes.
The make-3.81-beta4 you are building is a *native* Win32 app.  Unless
you are running the msys-1.0.11 release candidate, then you must never
put native binaries in /bin.  Leave the make-3.79 that's there alone,
and install your make-3.81 somewhere else.  Ideally, also give it a
different name, say gnumake.exe, to avoid confusion -- this is why we
call our native version mingw32-make.

If you then ensure that wherever you installed gnumake.exe is in your
path, and you use gnumake instead of make, you should be running this
version; (this will also propagate to recursive makes, if you've used
$(MAKE) correctly).
  

This is what I did initially. Here is a little recap of what I tried so far:
since I was needing version 3.80 of Make to have the eval function working, I downloaded and installed mingw32-make-3.80.0-2.exe.
I correctly defined $(MAKE) in all my makefiles and launched my make project with mingw32-make.

I almost immediately got the following error:

sed: -e expression #2, char 9: Unknown option to 's'
gnumake[1]: Entering directory `C:/msys/home/marichal/af'
g++.exe: no input files

The problem clearly comes from a bad interpretation of a sed command, which in turn makes that the g++ command has not received the appropriate parameters.
This sed command occurs in one of my rules to automatically generate dependencies and store in .d files:

#
# Creating sub-makefile for dependencies from C++ source files
#
$(OBJECT_DIR)%$(DBG_USED_SUFFIX)$(DEP_EXT) : $(FILES_PATH)%$(SRC_EXT)
    $(VERBOSE_ECHO) $(SHELL) -ec '$(CXX) -MM $(FINAL_CPPFLAGS) $(CXXINCLDIRS) $< | sed '\''s/\($*\)\.o[ :]*/$(OBJECT_DIR_FOR_SED)\1$(DBG_USED_SUFFIX).o $(subst /,\/,$@) : /g'\'' > $@'

Yet, this line works perfectly with make 3.79, under both msys and linux. And with make 3.80 as well under Linux....

Then, I first tried to compile make-3.81beta4 under msys using the build_w32.bat script for building a native Win app. It resulted in a gnumake.exe. I assigned $5MAKE) to this command and re-launched my project using it.
It resulted in exactly the same sed error.

My (may be too naive) conclusion was thus that there might be something clashing between these external build of Make and the shell and other commands (mainly sed and ls) that I ask make to use, which should be the ones defined by msys.
Hence my attempt to re-install a version 3.80 of make as the msys default make command.

Any better idea is most welcome. Shall I try msys-1.0.11 as you suggest? Currently I use 1.0.10.

Regards,
Xavier