56

I need to get the nth dependency file from a rule, something similar to $n in bash. I need this because I'd like to feed in individual dependency files as options to the build program.

Here's an example:

dep.o: dep.src config1.cfg config2.cfg
    parse -cfg1 $2 -cfg2 $3 -o $@ $<

Is it possible?

pauldoo
  • 18,087
  • 20
  • 94
  • 116
Yu Zhou
  • 788
  • 6
  • 11

1 Answers1

85
dep.o: dep.src config1.cfg config2.cfg
    @echo the second preq is $(word 2,$^), the third is $(word 3,$^)
Beta
  • 96,650
  • 16
  • 149
  • 150
  • 4
    References in the (GNU) make manual: [10.5.3 Automatic Variables](https://www.gnu.org/software/make/manual/html_node/Automatic-Variables.html) for `$^` ("The names of all the prerequisites, with spaces between them"), and [8.2 Functions for String Substitution and Analysis](https://www.gnu.org/software/make/manual/html_node/Text-Functions.html) for `$(word n,text)` ("Returns the *n*th word of *text*"). – ShreevatsaR Aug 13 '21 at 21:56