title: GNU make preprequisite execution order
body: <p>Say I have the following GNU make targets:</p>
  
  <pre><code>    create_dir: 
          @mkdir objects
  
      build_asm: $(ASM_FILES)
          @echo building assembly files...
  
      build_c: $(C_FILES)
          @echo building c files...
  </code></pre>
  
  <p>I have a generic rule for creation of object files from .asm or .c files. I want to combine these into a single target as follows...</p>
  
  <pre><code>all: create_dir build_asm build_c
      @echo build complete
  </code></pre>
  
  <p>...and I want to build this target using the jobs using multiple jobs to increase performance. The *.c and *.s files should be placed in the directory created by <strong>build_c</strong>, so allowing make to execute them in any order is problematic. </p>
  
  <p>Is there a way to force make to resolve the phony target <strong>create_dir</strong> before resolving <strong>build_c</strong> and <strong>build_asm</strong> without breaking up the target?</p>