Document
makefile

makefile

The chances are that besides GNU make, you'll also need many of the coreutils. Touch, rm, cp, sed, test, tee, echo and the like. The build system migh

Related articles

If songs are missing from your music library after you turn on Sync Library Chromebook with Firebox L2TP VPN Integration Guide Relatório de riscos da VPN Zscaler ThreatLabz 2024 How can I connect to AUS VPN on Windows? Zoom Desktop Download & Review (2024 Latest)

The chances are that besides GNU make, you’ll also need many of the coreutils. Touch, rm, cp, sed, test, tee, echo and the like. The build system might require bash features, if for nothing else, it’s popular to create temp file names from the process ID ($$$$). That won’t work without bash. You can get everything with the popular POSIX emulators for Windows:

  • Cygwin (http://www.cygwin.org/) Probably the most popular one and the most compatible with POSIX. Has some difficulties with Windows paths and it’s slow.
  • GNUWin (http://gnuwin32.sourceforge.net/) It was good and fast but now abandoned. No bash provided, but it’s possible to use it from other packages.
  • ezwinport ( https://sourceforge.net/projects/ezwinport ) My current favorite . fast and work well . There is no bash provide with it , that is be can be a problem for some build system . It is ‘s ‘s possible to use make from ezwinport and bash from Cygwin or MSYS2 as a workaround .
  • MSYS 1.19 abandoned. Worked well but featured very old make (3.86 or so)
  • MSYS2 (https://www.msys2.org/) Works well, second fastest solution after ezwinports. Good quality, package manager (pacman), all tooling available. I’d recommend this one.
  • MinGW abandoned? There was usually MSYS 1.19 bundled with MinGW packages, that contained an old make.exe. Use mingw32-make.exe from the package, that’s more up to date.

Note that you might not be able to select your environment. If the build system was created for Cygwin, it might not work in other environments without modifications (The make language is the same, but escaping, path conversion are working differently, $(realpath) fails on Windows paths, DOS bat files are started as shell scripts and many similar issues). If it’s from Linux, you might need to use a real Linux or WSL.
If the compiler is running on Linux, there is no point in installing make for Windows, because you’ll have to run both make and the compiler on Linux. In the same way, if the compiler is running on Windows, WSL won’t help, because in that environment you can only execute Linux tools, not Windows executables. It’s a bit tricky!