ok, long story make it short. I would need your help in this...

I have a quite large project, a makefile and gnu make. All runs fine.
Trying to port the project to windows, and building with mingw32-make I come accross some problems... One of it is that i can't use sed for automatic dependeny generation as described in the gnu make manual, so I tried to find a workarround, writing a more simple automatic dependency "generator"

So, this is a dummy project:

add.h

int add ( int x, int y );

add.cpp

#include "add.h"
int add ( int x, int y) { return x+y; }

main.cpp

#include "add.h"
#include <iostream>
using namespace std;
int main( int argc, char* argv[] )
{
cout<<endl<<add(3,4)<<endl;
}


and the makefile:


SOURCES = main.cpp add.cpp
DEPS = main.d add.d
OBJS = main.o add.o

PRG = prg

MAKE = mingw32-make

CC = g++

.DEFAULT_GOAL: all

all:
$(MAKE) deldep
$(MAKE) $(PRG)

$(PRG): $(OBJS)
$(CC) -o $(PRG) $(OBJS)

%.o:%.cpp
$(CC) -c "$<"

deldep:
# rm -f $(DEPS)
del *.d /q

%.d:%.cpp
$(CC) -E -M -MF "$@" -c "$<"

-include $(DEPS)

clean:
# rm -f $(OBJS) $(PRG) $(DEPS)
del *.d *.o prg /q

the deal is I want all .d dependency files to be recreated each time i run make. This is done via deldep target that deletes all the .d files. When all target is the dependeny files don't exist (beacause of $(MAKE) deldep ), they are created, and then the .o files and exe file are built using these dependencys. It all runs very fine on linux with gnu make, but when i port it on win I end up in an infinite loop:

D:\portmake>mingw32-make
g++ -E -M -MF "add.d" -c "add.cpp"
g++ -E -M -MF "main.d" -c "main.cpp"
g++ -E -M -MF "add.d" -c "add.cpp"
g++ -E -M -MF "main.d" -c "main.cpp"
g++ -E -M -MF "add.d" -c "add.cpp"
g++ -E -M -MF "main.d" -c "main.cpp"
g++ -E -M -MF "add.d" -c "add.cpp"
g++ -E -M -MF "main.d" -c "main.cpp"
g++ -E -M -MF "add.d" -c "add.cpp"
g++ -E -M -MF "main.d" -c "main.cpp"
g++ -E -M -MF "add.d" -c "add.cpp"
g++ -E -M -MF "main.d" -c "main.cpp"

thx in advance