title: What are Eclipse's Build Variables and how do they differ from the Environment Variables?
body: <p>Using ARM DS-5 environment, based on Eclipse 4.3.2, I defined a C project and using a Makefile to build it. The Makefile contains a few module selection variables, which are set to <code>Y</code> or <code>N</code> depending on whether we want to include the module or not.</p>
  
  <p>I am trying to set these variables from the project settings. Thus, I use the following construct to have a default setting in the Makefile:</p>
  
  <pre><code>Module_1 ?= Y
  Module_2 ?= Y
  </code></pre>
  
  <p>Now, I want to add a project variable <code>Module_1</code> set to <code>Y</code> or <code>N</code>. It happens that there are <code>Build Variables</code> and <code>Environment</code> Variables under <code>C/C++ Build</code>. When I add <code>Module_1</code> <code>N</code> to the <code>Environment</code> Variables, it overrides the default setting. However, When I do the same in the <code>Build Variables</code> it has no effect.</p>
  
  <p>What is the difference between the two types of variables?</p>