title: Force make to find out-of-date condition from file
body: <p>(this is similar to <a href="https://stackoverflow.com/questions/11104681/gnu-make-execute-target-but-take-dependency-from-file">GNU make: Execute target but take dependency from file</a> but slightly different).</p>
  
  <p>When I try to force to build a target, make automatically thinks that this target is out of date and forces a run of all targets which depend on it.</p>
  
  <p>In my case, the target is a recursive make call which does a lot of work and might just return with "nothing to be done":</p>
  
  <pre><code> .PHONY: intermediate.dat
   intermediate.dat:
        $(MAKE) expensive_chain_which_finally_creates_intermediate.dat
  
   step1.dat: intermediate.dat
        sleep 10
  
   step2.dat: step1.dat
        sleep 15
  
   step3.dat: step2.dat
        sleep 10
  
   all: step3.dat
        sleep 5
  </code></pre>
  
  <p>In this case, "make all" runs for 40 seconds although intermediate.dat might not have changed (recursive make returned "nothing to be done"). However, <em>if</em> the recursive make updated intermediate.dat, the target shall be out of date.</p>
  
  <p>Is there really no way to do this?</p>
  
  <p>Regards
  divB</p>