Greg Chicares wrote:
I already did, but I'll again.
On 2006-2-8 15:37 UTC, Xavier Marichal wrote:
[...] 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: 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
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
gets expanded by the MSYS shell to something like '/C:\foo\bar'.
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?