$@
: target, since it looks like a target. $<
: the 1st prereq, since <
points to the left. $^
: all prereqs, since ^
looks like an "upward grouping flower bracket". $?
: prereqs that are newer than the target, since ?
is stuff you don't know / haven't looked at. $*
: target with suffix deleted , since we generally grep for *.c|h|
, we want the *
part of $@
. Alternatively, *
is also like a target, but only the bull's eye with the extra stuff like the suffix stripped out.