Makefile

Rule

target: prerequisites
    recipe

Patterns

all: library.cpp main.cpp

$@ es el target, en este caso all.
$< es el primer prerequisito, en este caso library.cpp.
$^ son los prerequisitos, en este caso library.cpp main.cpp.

Oficial Documentation

https://www.gnu.org/software/make/manual/make.html