title: Why is Visual Studio 2012 running custom build step when source file hasn't been changed?
body: <p>I'm using yacc and lex with Visual Studio 2012 C++/CLI and have created a custom build step for the yacc source file as shown in image below</p>
  
  <p><img src="https://i.stack.imgur.com/RT8MN.png" alt="Custom Build Property Page"></p>
  
  <p>There are two dependencies for the output file.  They are the yacc source file icl5kyacc.y and the yyparse.c template file.  Every time I build the solution the custom build step runs even when the yyparse.c and icl5kyacc.y source files have not been modified.  Here's directory listing following a build.</p>
  
  <pre><code>  21-Sep-2012  10:19:18p         28,210    A icl5kyacc.y
    17-Sep-2012   7:32:06p          9,042    A yyparse.c
    22-Sep-2012  11:43:56a         38,233    A ICL5KYACC.cpp
    22-Sep-2012  11:43:56a          2,160    A icl5kyacc.h
  </code></pre>
  
  <p>And after building again</p>
  
  <p>2>  Generating icl5kyacc.cpp from icl5kyacc.y</p>
  
  <pre><code>  21-Sep-2012  10:19:18p         28,210    A icl5kyacc.y
    17-Sep-2012   7:32:06p          9,042    A yyparse.c
    22-Sep-2012  11:45:46a         38,233    A ICL5KYACC.cpp
    22-Sep-2012  11:45:46a          2,160    A icl5kyacc.h
  </code></pre>
  
  <p>Am I mistaken in believing that the using a custom build step should automatically apply standard dependency rules between the input and output files of the build step?  One thing I'm curious about is the <strong>%(AdditionalInputs)</strong> macro which Studio put in for me under Additional Dependencies.  Not sure what that is or if that is somehow pointing to a file that is being modified.</p>