> Date: Mon, 24 Jul 2023 16:43:48 +1200 > From: Gary Turner <g...@elizr.com> > > Sorry if this isn't the right place to ask - I've been reading this list > for years, and it was an easy option :) > I've been getting (copying) updated make.exe files from various > installations as I set up new machines over the years. > I usually run make manually from a command prompt. > I've been doing this for years with no changes to anything else but I'm > seeing some oddness with make 4.4.1 (Built for x86_64-pc-msys) that I > got from a ruby install. > If I run make on my old makefiles, it looks to me like it is starting a > shell instead of running the commands. > It prints the necessary make command, and "Microsoft Windows[Version > 10.0...] and (c) Microsoft... and then a command prompt. > The command window title then shows ...\cmd - make. If I type exit, > (sometimes I have to Ctr-C first) I get back to my original prompt. > I guess something is going wrong with my shell selection, but I've never > had to manually set it before. > I copied over an older 4.1 (Built for Windows32) which I don't recall > the source of, and that works fine. > Is there an easy solution to this?
Please begin by showing the minimal Makefile which exhibits the above behavior with Make 4.4. In general, the x86_64-pc-msys target is not a build of Make you should be running from cmd.exe, nor should you expect it to behave like a native MS-Windows port of Make. That build is for MSYS, and is supposed to be run from Bash in order to execute Unix-style Makefiles. So, for example, it doesn't know enough about cmd.exe shell rules, and generally behaves like a Unix build of Make. So it is better to avoid it on MS-Windows, except when you are running Posix-style configure script and the Makefiles it produces. A native Windows build of Make 4.4.1 is available here: https://sourceforge.net/projects/ezwinports/files/ This is a 32-bit build (but will run on 64-bit Windows); if you want a 64-bit build instead, look in the MSYS2 project for a build thaat ends with "-mingw64", not with "-msys".