How to use GNU Make on Windows?

WindowsMakefileGnu MakeCmd

Windows Problem Overview


I installed MinGW and MSYS, added C:\MinGW\bin to PATH but I still can't run Makefile on Windows' cmd. I would like to run cmd.exe and there type, for example, make all but my cmd says that there is no such command.

What should I do? I don't want to use MSYS shell, that's not the point. Any ideas how to use GNU Make in Windows cmd as I can do it in Ubuntu? I'm not interested in Cygwin.

Windows Solutions


Solution 1 - Windows

Explanation

Inside directory C:\MinGW\bin there is an executable file mingw32-make.exe which is the program make you are trying to run. You can use the keyword mingw32-make and run the program make since you have added the needed directory to the system path, but it is not an easy to remember keyword.


Solution

Renaming the file from mingw32-make.exe to make.exe will allow you to run program make using the keyword make.

Renaming can be done:

  1. Manually by right clicking and renaming the file.
  2. By running the command copy c:\MinGW\bin\mingw32-make.exe c:\MinGW\bin\make.exe.

Result

Now if you type make on command prompt it should output something like:

make: *** No targets specified and no makefile found.  Stop.

Which means the program make ran.

Solution 2 - Windows

I'm using GNU Make from the GnuWin32 project, see http://gnuwin32.sourceforge.net/ but there haven't been any updates for a while now, so I'm not sure on this project's status.

Solution 3 - Windows

Although this question is old, it is still asked by many who use MSYS2.

I started to use it this year to replace CygWin, and I'm getting pretty satisfied.

To install make, open the MSYS2 shell and type the following commands:

# Update the package database and core system packages
pacman -Syu
# Close shell and open again if needed

# Update again
pacman -Su

# Install make
pacman -S make

# Test it (show version)
make -v

Solution 4 - Windows

As an alternative, if you just want to install make, you can use the chocolatey package manager to install gnu make by using

choco install make -y

This deals with any path issues that you might have.

Solution 5 - Windows

You can add the application folder to your path from a command prompt using:

setx PATH "%PATH%;c:\MinGW\bin"

Note that you will probably need to open a new command window for the modified path setting to go into effect.

Solution 6 - Windows

user1594322 gave a correct answer but when I tried it I ran into admin/permission problems. I was able to copy 'mingw32-make.exe' and paste it, over-ruling/by-passing admin issues and then editing the copy to 'make.exe'. On VirtualBox in a Win7 guest.

Solution 7 - Windows

While make itself is available as a standalone executable (gnuwin32.sourceforge.net package make), using it in a proper development environment means using msys2.

Git 2.24 (Q4 2019) illustrates that:

See commit 4668931, commit b35304b, commit ab7d854, commit be5d88e, commit 5d65ad1, commit 030a628, commit 61d1d92, commit e4347c9, commit ed712ef, commit 5b8f9e2, commit 41616ef, commit c097b95 (04 Oct 2019), and commit dbcd970 (30 Sep 2019) by Johannes Schindelin (dscho).
(Merged by Junio C Hamano -- gitster -- in commit 6d5291b, 15 Oct 2019)

> ## test-tool run-command: learn to run (parts of) the testsuite
> Signed-off-by: Johannes Schindelin

> Git for Windows jumps through hoops to provide a development environment that allows to build Git and to run its test suite.

> To that end, an entire MSYS2 system, including GNU make and GCC is offered as "the Git for Windows SDK".
It does come at a price: an initial download of said SDK weighs in with several hundreds of megabytes, and the unpacked SDK occupies ~2GB of disk space.

> A much more native development environment on Windows is Visual Studio. To help contributors use that environment, we already have a Makefile target vcxproj that generates a commit with project files (and other generated files), and Git for Windows' vs/master branch is continuously re-generated using that target.

> The idea is to allow building Git in Visual Studio, and to run individual tests using a Portable Git.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionyakView Question on Stackoverflow
Solution 1 - Windowsuser1594322View Answer on Stackoverflow
Solution 2 - WindowsColin 't HartView Answer on Stackoverflow
Solution 3 - WindowsDelfinoView Answer on Stackoverflow
Solution 4 - WindowsIvo MerchiersView Answer on Stackoverflow
Solution 5 - WindowsBuggieboyView Answer on Stackoverflow
Solution 6 - WindowsDBourneView Answer on Stackoverflow
Solution 7 - WindowsVonCView Answer on Stackoverflow