Greg Chicares wrote:
On 2006-2-8 15:37 UTC, Xavier Marichal wrote:
  
[...] I downloaded and installed mingw32-make-3.80.0-2.exe
<http://prdownloads.sf.net/mingw/mingw32-make-3.80.0-2.exe?download>.
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....
    

Examine the actual 'sed' command that gets executed. Perhaps
some portion of it, for instance
  /$(OBJECT_DIR_FOR_SED)
gets expanded by the MSYS shell to something like '/C:\foo\bar'.
  
I already did, but I'll again.
Yet, why does it work with msys and make (3.79) and not with the same msys and another make? I suspect there are not using the same version of some commands, isn't it?

Regards,
Xavier