Eli Zaretskii wrote: > Mason wrote: > >> I'm (grudgingly) running Windows, and I need some Makefile to >> work whether it is invoked from a bash shell under cygwin, >> or from Microsoft's CMD shell in the "DOS" command-line. >> >> (I'm using GNU Make 3.82, Built for i686-pc-mingw32) >> >> I've found a strange way to distinguish between cygwin >> and DOS, and I wanted to ask if it works by accident >> or by design, and if there is a "better" way (for any >> interpretation of "better"). >> >> Right now, I do: >> >> ifdef windir >> XX = DOS >> else >> XX = CYGWIN >> endif >> >> and it seems to work, apparently because DOS keeps the environment >> variable in lower case, while CYGWIN sets it to upper case. >> >> What do you think? > > I think you should use the Cygwin build of Make when you use Cygwin > tools and the MinGW build (the one you have) when you work with native > Windows tools. Mixing them is asking for trouble, even though the > problems are subtle and may seem non-existent.
To tell the truth, I am indeed using Cygwin's gmake under Cygwin (/usr/bin/make = gmake 3.81 built for i686-pc-cygwin) and the i686-pc-mingw32 build under DOS. But your remark doesn't address my main question: how do people create this kind of "portable" (GNU) makefile? Right now, I need the test to set the RM command. In Cygwin, I set RM = rm -f; In DOS, I set RM = del -- Regards. _______________________________________________ Help-make mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-make
