title: add_custom_command is not generating a target
body: <p>Perhaps this is impossible and I'm misreading the <a href="http://www.cmake.org/cmake/help/v3.2/command/add_custom_command.html" rel="noreferrer">cmake 3.2 documentation</a>, but I though creating a custom command would create a custom "target" in the Makefile so that I could build the target by invoking the name of the output file. The CMake docs says:</p>
  
  <blockquote>
    <p>In makefile terms this creates a new target in the following form:</p>
  
  <pre><code> OUTPUT: MAIN_DEPENDENCY DEPENDS
      COMMAND
  </code></pre>
  </blockquote>
  
  <p>so I thought I could then run <code>make OUTPUT</code>. Perhaps the documentation is confusing CMake targets with Makefile targets?</p>
  
  <p>For example,</p>
  
  <pre><code> add_custom_command(OUTPUT foo_out
      COMMAND post_process foo_in &gt; foo_out
      DEPENDS foo_in
   )
  </code></pre>
  
  <p>I would like to do</p>
  
  <pre><code> make foo_out
  </code></pre>
  
  <p>and it will make <code>foo_out</code>. However, if I do this, I get</p>
  
  <pre><code>make: **** No rule to make target `foo_out`. Stop.
  </code></pre>
  
  <p>and sure enough, the word "foo_out" doesn't exist anywhere in any file in the cmake binary output directory.  If I change it to this</p>
  
  <pre><code>add_custom_target(bar DEPENDS foo_out)
  add_custom_command(OUTPUT foo_out COMMAND post_process foo_in &gt; foo_out)
  </code></pre>
  
  <p>Then I can do</p>
  
  <pre><code>make bar
  </code></pre>
  
  <p>and I can do</p>
  
  <pre><code>make foo_in
  </code></pre>
  
  <p>but I still can't do</p>
  
  <pre><code>make foo_out
  </code></pre>
  
  <p>The problem with <code>make bar</code> is that it is unintuitive, as the actual file output is <code>foo_out</code> not <code>bar</code>.</p>
  
  <p>How do I do this? </p>
  
  <p>In my case, I need to run a special processing step to the standard executable target which inserts optional resources into the ELF file. I would like the ability to have both executables as Makefile targets, so I can build the naked ELF executable as well as the resource-injected ELF executable.</p>
  
  <p>If I was writing a custom Makefile, this is trivial to do!</p>
  
  <pre><code>foo_in: foo.c
      $(CC) $&lt; -o $@
  
  foo_out: foo_in
      post_process $&lt; &gt; $@   
  </code></pre>
  
  <p>And I can do <code>make foo_in</code> and <code>make foo_out</code>.</p>