$@: 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
*is also like a target, but only the bull's eye with the extra stuff like the suffix stripped out.