title: Makefile call function. How to get all arguments
body: <p>When I define a custom function in a Makefile, like this</p>
  
  <pre><code>define add_target
  ${1}: ${2} ${3}
  endef
  </code></pre>
  
  <p>How can I get a list of all arguments, that have been provided to <code>$(call add_target, ...)</code>?</p>
  
  <p>So this <code>$(call add_target, A, B)</code> will be expanded to <code>A: B</code>
  and this <code>$(call add_target, A, B, C, D)</code> will be expanded to <code>A: B C D</code></p>
  
  <p><a href="https://www.gnu.org/software/make/manual/html_node/Call-Function.html" rel="noreferrer">GNU manual</a> only says that </p>
  
  <blockquote>
    <p>When make expands this function, it assigns each param to temporary variables $(1), $(2), etc. The variable $(0) will contain variable. There is no maximum number of parameter arguments.</p>
  </blockquote>
  
  <p>but nothing about how to get all params.</p>