title: Makefile PHONY/ALL target: only builds the first
body: <pre><code>FC=gfortran
  
  perf.c.bin: perf.c
      $(CC) -std=c99 -O3 $&lt; -o $@ 
  
  perf.f90.bin: perf.f90
      $(FC) $(FFLAGS) -O3 $&lt; -o $@
  
  all: perf.c.bin perf.f90.bin
  .PHONY: all
  </code></pre>
  
  <p>If I run just <code>make</code>, it just builds the <code>perf.c.bin</code>. If I run <code>make all</code>, it builds both <code>perf.*.bin</code>. Why?</p>