From: LRN <lr...@gm...> - 2013-01-03 11:20:01
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 02.01.2013 13:56, Jared Maddox wrote: > I'm working on a patch to get a program called DGD to compile in > the MSys environment. I've actually gotten the compilation to > work, which just leaves testing, but I want to make certain that I > did the CORRECT modifications to the makefile. > > The environment detection is as follows: ifeq > ($(OS),MINGW32_NT-5.1) > > Is there a better variable name to check? I worry that someone > might be able to run this in the MinGW make, as well as the MSys > version, which would be a problem since I haven't designed the > port for Windows commands. ...a-a-a-and, once you detect mingw32, what do you do? Show a warning "This makefile must be run with msys make" and exit? Because if you haven't designed the port for W32 shell, then it just won't work. I did this kind of thing once (just once!), and i've used this: ifeq ($(OS),Windows_NT) ifeq ($(MSYSTEM),MINGW32) ENV = mingw-msys else ENV = mingw-cmd endif else ENV = gnu endif which allowed me to use things like this: clean: ifeq ($(ENV),mingw-cmd) cmd /c "del *.o *.dll *.a *.exe" else rm *.o *.dll *.a *.exe endif OS is a W32 envvar, it is always set to "Windows_NT" on W32. MSYSTEM is a MSYS envvar, it is defined by msys.bat or profile to be either MINGW32 (msys compiling mingw programs) or MSYS (msys compiling msys programs). -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (MingW32) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJQ5WlVAAoJEOs4Jb6SI2CwPUYH/ipnUk7Fr6Yuftefpq/L4bAt 3nNtc8q7LjmldhMfDmFsrCeiFk2NRCwSIx+XXE1f36M0aLIwBK3UD1pdk2JwroVJ Zk7GlyiBVO9NQuw+Bm9rqUORLf2zYOLJODsD+sI4R96Zh4A1IBARCYQ62VBknJPh /zP6aiBxRBSYhG49/ZLwyK/H74U6qWKnsglbnaoTCA5Szv4vjiYrBPjhonW/bWje d+GUDqP31oF4b8RZb7z1jCmVFcXfqR5T/eub+c1653dkXPlYHvj423O8PQ3weOHp 7SMCPO4qwGS55VSQgQIYCWBInpS/jry+Wy87r3oXK2sjI+pdA5xb8i/BYglLX8o= =TJVd -----END PGP SIGNATURE----- |