The gnu manual section 3.8 says:
"During the secondary expansion of explicit rules, $$@
and $$%
evaluate, respectively, to the file name of the target and, when the target is an archive member, the target member name. The $$<
variable evaluates to the first prerequisite in the first rule for this target. $$^
and $$+
evaluate to the list of all prerequisites of rules that have already appeared for the same target ($$+
with repetitions and $$^
without). The following example will help illustrate these behaviors:
.SECONDEXPANSION:
foo: foo.1 bar.1 $$< $$^ $$+ # line #1
foo: foo.2 bar.2 $$< $$^ $$+ # line #2
foo: foo.3 bar.3 $$< $$^ $$+ # line #3
In the first prerequisite list, all three variables ($$<, $$^, and $$+) expand to the empty string."
My question: Why does the $$<
expand to empty string? The paragraph above says the it should evaluate to the first requisite to the first rule for this target. Wouldn't that be foo.1 ?