make: Interrupt/Exception caught

I'm using Make from the MinGW distribution. It has always worked, but recently I've gotten the following error:

> make clean
make: Interrupt/Exception caught (code = 0xc0000005, addr = 0x0040b0ac)

And the respective part looks like this:

clean:
    del /S /Q *.o > nul
    del /S /Q *.cy.c > nul
    del /S /Q *.pyc > nul
    del /S /Q *.pyo > nul
    if EXIST build (rmdir /S /Q dist > nul)

I have no idea what causes this. Especially because it always has worked perfectly fine.


I was starting to get an exception as well:

make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4227d3)

Might be a different reason, but this problem is apparently caused when the PATH variable contains parentheses (, ), as it does on Win Vista/7. Unfortunately, the available GNU for Windows is hopelessly outdated.

My problem was fixed by forcing make use the correct shell: insert the following line at the beginning of your makefile.

SHELL=C:/Windows/System32/cmd.exe

I had that issue when I added Git's bin directory to the PATH environment variable. The reason seems to be that Git ships with a version of MSYS and that seems to conflict with MinGW (maybe it doesn't conflict when it's the right version of MSYS and/or MinGW but that's just guessing).

So make sure that there is no (other) MSYS distribution in your PATH.


Futher to Norbet P.'s answer, I found that adding:

PATH=

to the top of my Makefile fixed this particular problem for me.


This make bug is fixed at least in

GNU Make 3.82
Built for i686-pc-mingw32

.