title: make file substantial command
body: <p>I am learning make and ran across a few commands that I do not understand. Can anyone help me understand these commands please?</p>
  <p>I have the following few lines from a larger make file.</p>
  <pre><code>blank :=
  blank +=
  type_switcher = $(or\
  $(if $(subst TEMP_WEIGHT,,$(firstword $(subst _,$(blank),$(1)))),,$(blank)),\
  $(if $(subst TEMP_SPEED,,$(firstword $(subst _,$(blank),$(1)))),,-temp_speed),\
  $(if $(subst TEMP_MASSN,,$(firstword $(subst _,$(blank),$(1)))),,-temp_mass -temp_massn),\
  $(error No known type defined in command $(2)))
  
  </code></pre>
  <p>What is <code>$(1)</code> in this code?</p>
  <p>Is there a way to print out all the variables fully expanded but without actually running <code>make</code>?</p>