... the 'make' might run in a different environment to the Makefile.PLI don't understand what you're getting at with that remark. Usually on Win32, you don't have to concern yourself with the flavour of make that's being used. If $Config{make} is dmake, then
perl Makefile.PL will write a dmake-compatible makefile (and the same goes for nmake). Anybody who's using something other than dmake or nmake is "on their own".
As you've found, you do need to concern yourself with the flavour of compiler that's being used. If you know how to code for both cl and gcc, and if you take
Corion's advice of relying on $Config{cc}, then that problem should be solved. (Admittedly there are other compilers that can be used on Win32. I'd wait for bug reports from users of those compilers before concerning myself with them.)
Cheers,
Rob