On Tue, 11 Jun 2024 at 09:55, Eli Zaretskii <e...@gnu.org> wrote: > Thanks. I wonder how they distinguish between MinGW (a.k.a. "native") > port of GNU Make, and MSYS/Cygwin ports. The latter implement the > jobserver and the associated command-line arguments as on Unix. > Distinguishing only by name is dangerous: the MinGW port of Make on my > system is called "make.exe", not "mingw32-make.exe" (and that's what > people who install from ezwinports site get). There's a way to detect > the kind of the executable reliably (Emacs implements it, see > w32-application-type), but it's not entirely trivial.
GCC doesn't attempt to distinguish. It doesn't look inside the name in the MAKE environment variable: just passes it to 'pex_one' (the exec/spawn wrapper in libiberty) to find and execute it. If the makefile is constructed to be system agnostic, maybe this could work. I think the real situation is that "native" Make is not supported.