title: Windows and *nix compilation detection
body: <p>One project should be compiled for Windows, Linux and an embedded target. The application has behavior differences when running on host or embedded targets. To summarize my requirements, here is the table:</p>
  
  <pre><code>   Target               Compiler      Behavior
     Windows              MSVC, gcc         A
     Host Linux           gcc               A
     Embedded Linux       cross pltf gcc    B
  </code></pre>
  
  <p>I wish to create a Makefile that would recognize the compiler and environmental differences automatically (without need to pass parameters/defines manually). Is it possible to resolve such problem by just using conditional compilation at C source file level?<br>
  I don't use automake so far.</p>