Calling Windows commands (e.g. del) from a GNU makefile

Issue

It does not appear to be possible to call Windows system commands (e.g. del, move, etc) using GNU Make. I’m trying to create a makefile that doesn’t rely on the user having extra tools (e.g. rm.exe from Cygwin) installed.

When the following rule is run, an error is reported del: command not found:

clean:
   del *.o

This is presumably because there is no such execuatable as “del”. I’ve also tried running it as an option to cmd but with this only seems to open a new prompt:

clean:
    cmd /C del *.o

I’m using Windows XP (5.1.2600) with GNU Make 3.79.1 that is bundled as part of MSys.

Solution

It seems the /C switch needs to be escaped because a / is interpreted as a path in GNU Make. The following works as expected:

clean:
    cmd //C del *.o

Answered By – TomLongridge

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0

Leave a Reply

(*) Required, Your email will not be published