title: How to define a constant conditionally
body: <p>I want to define some constants in my <strong>C</strong> file.</p>
  
  <p>Its assembly code like this:</p>
  
  <pre><code>Const1 = 0
  
  Const2 = 0
  
  IF Condition1_SUPPORT
  
      Const1 = Const1 or (1 shl 6)
  
      Const2 = Const2 or (1 shl 3)
  
  ENDIF
  
  IF Condition2_SUPPORT
  
      Const1 = Const1 or (1 shl 5)
  
      Const2 = Const2 or (1 shl 2)
  
  ENDIF
  </code></pre>
  
  <p>Could you tell me the simplest way to implement this?</p>
  
  <p>And it should be flexible enough because the number of both my <strong>constants</strong> and <strong>conditions</strong> is over 10.</p>
  
  <p>After seeing the first three answers, I guess I need to explain more;
  What I want to know is how to redefine my constant based on its previous value.</p>