Just to add some details to the previous comments: On Windows you can open a command prompt (as admin), go to the c:\<your msys installation path>\mingw64\bin directory and run mklink make mingw32-make.exe to create a symbolic link. That will allow you to run the make command in the MINGW64 shell
Just to add some details to the previous comments: On Windows you can open a command prompt (as admin), go to the c:\<your msys installation path>\mingw64\bin directory and run mklink make mingw32-make.exe to create a symbolic link. That will allow you to run the make command in the MINGW64 shell
You are meant to use the make installed by pacman -S make for most builds, not the one installed by pacman -S <target>-make.
Remember that make interacts heavily with the shell, and in this platform the shell is doing many magical things to bridge the gap between sets of platform conventions. make therefore also needs to be magical. The only reason to use the -make is because it does not have dependencies on the msys libraries, or for the rare cases when you don't want the magic.
Many Makefiles will just not work with the target / non-msys versions, so probably you just want to use pacman -S make.
See: https://www.msys2.org/wiki/Porting/
Thread: [Msys2-users] install make? | MSYS2
Error running Make on Windows - msys-MinGW64
[HELP] MSYS2 And "make" command.
I don't use Pacman or Windows or MSYS2, but it looks like MSYS2 comes with Pacman, which is a tool for downloading software. You will use it to install both git and make. From my Googling, it looks like this is what you want to type into MSYS2:
pacman -S --needed base-devel mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain git subversion mercurial mingw-w64-i686-cmake mingw-w64-x86_64-cmake
The above command will install lots of nice development tools for you on Windows.
Also, if you are using Windows 10, I highly recommend installing the Windows Subsystem for Linux. It is a full Bash shell on Windows, where you can use more standard tools than MSYS2. https://docs.microsoft.com/en-us/windows/wsl/install-win10
More on reddit.comc - How to compile makefile using MinGW? - Stack Overflow
Videos
Hi, guys.
I have sat here for hours trying to figure out what is wrong with what I am doing. I have Googled and re-Googled. Read multiple forums and random FAQs. And searched this Reddit, but to no avail. Now, I am desperate; and slightly exhausted from being disappointed. : (
I recently got myself a Zeal60 Rev3 and decided to pick up QMK and learn a little. I have zero knowledge in programming / Linux. So, whatever I have read and tried are all based on these videos: https://youtu.be/-HLV6mUxNnU; which someone translated it to text here: https://www.reddit.com/r/olkb/comments/7pnsrc/qmk_guide_for_flashing_keyboards/.
I got stuck at Part 2 of the video series (https://youtu.be/oj9UBR1eW6I), where it asked me to "git clone" the link from the fork from GitHub's QMK Firmware page (I kept getting "-bash: git: command not found" error) and decided to skip that part since the text version says it is optional.
I carried on and got to Part 4 of the video series (https://youtu.be/u1lweFStx1U) where I now have to make/compile to get the .hex file with the "make" command. To my despair, I am now revisited with the "command not found" error, saying; "-bash: make: command not found". T___T;
I cannot find anything that I have missed or whatsoever, so, if anyone can help, advice and/or point me in the right direction, I would highly appreciate it.
I don't use Pacman or Windows or MSYS2, but it looks like MSYS2 comes with Pacman, which is a tool for downloading software. You will use it to install both git and make. From my Googling, it looks like this is what you want to type into MSYS2:
pacman -S --needed base-devel mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain git subversion mercurial mingw-w64-i686-cmake mingw-w64-x86_64-cmake
The above command will install lots of nice development tools for you on Windows.
Also, if you are using Windows 10, I highly recommend installing the Windows Subsystem for Linux. It is a full Bash shell on Windows, where you can use more standard tools than MSYS2. https://docs.microsoft.com/en-us/windows/wsl/install-win10
The docs have everything you need to know about QMK.
Excerpt from http://www.mingw.org/wiki/FAQ:
What's the difference between make and mingw32-make?
The "native" (i.e.: MSVCRT dependent) port of make is lacking in some functionality and has modified functionality due to the lack of POSIX on Win32. There also exists a version of make in the MSYS distribution that is dependent on the MSYS runtime. This port operates more as make was intended to operate and gives less headaches during execution. Based on this, the MinGW developers/maintainers/packagers decided it would be best to rename the native version so that both the "native" version and the MSYS version could be present at the same time without file name collision.
So,look into C:\MinGW\bin directory and first make sure what make executable, have you installed.(make.exe or mingw32-make.exe)
Before using MinGW, you should add C:\MinGW\bin; to the PATH environment variable using the instructions mentioned at http://www.mingw.org/wiki/Getting_Started/
Then cd to your directory, where you have the makefile and Try using mingw32-make.exe makefile.in or simply make.exe makefile.in(depending on executables in C:\MinGW\bin).
If you want a GUI based solution, install DevCPP IDE and then re-make.
You have to actively choose to install MSYS to get the make.exe. So you should always have at least (the native) mingw32-make.exe if MinGW was installed properly. And if you installed MSYS you will have make.exe (in the MSYS subfolder probably).
Note that many projects require first creating a makefile (e.g. using a configure script or automake .am file) and it is this step that requires MSYS or cygwin. Makes you wonder why they bothered to distribute the native make at all.
Once you have the makefile, it is unclear if the native executable requires a different path separator than the MSYS make (forward slashes vs backward slashes). Any autogenerated makefile is likely to have unix-style paths, assuming the native make can handle those, the compiled output should be the same.