title: info guarded by conditional in recipe?
body: <p>We have a library project and its transitioning from unaligned data access common in the old i386/i686/x86_64 to aligned data access. The impetus is GCC and vectorization, which is causing crashes at <code>-O3</code> (GCC is even vectorizing string compares with SSE4 primitives).</p>
  
  <p>If someone runs make and a particular define is not present, then we want to print a <code>info</code> message warning them. I'm having trouble crafting the recipe.</p>
  
  <p>The following recipe produces an error when run (it uses <kbd>TAB</kbd>, and not spaces):</p>
  
  <pre><code>.PHONY check_defines
  check_defines:
      CONFIG_ALIGNED := $(shell $(EGREP) -i -c "[[:space:]]*#[[:space:]]*define[[:space:]]*NO_UNALIGNED_DATA_ACCESS" config.h)
      CXX_ALIGNED := $(shell echo $(value CXXFLAGS) | $(EGREP) -i -c "-DNO_UNALIGNED_DATA_ACCESS")
      ifeq ($(CONFIG_ALIGNED)$(CXX_ALIGNED),00)
          $(info Warning: NO_UNALIGNED_DATA_ACCESS is not defined)
      endif
  </code></pre>
  
  <p>The error is:</p>
  
  <pre><code>$ make check_defines
  GNUmakefile:383: *** missing separator.  Stop.
  </code></pre>
  
  <p>Line 383 is the <code>CONFIG_ALIGNED := ...</code>. The manual on <a href="http://www.gnu.org/software/make/manual/html_node/Recipe-Syntax.html" rel="nofollow">5.1 Recipe Syntax</a> is not really helpful to me.</p>
  
  <p>How do I craft the rule to perform the test within a recipe?</p>