Someone remind me, is it $@ or $< ?
replies(2):
foo.o : foo.c
$(CC) $(CFLAGS) -o $@ $<
The "$@" is the output (or target, think of @ as a bullseye on a target), and the "$<" is the input (think redirection). The only other commonly used variable is "$^": foo : foo.o util.o other.o
$(CC) $(LDFLAGS) -o $@ $^ $(LDLIBS)
In this case, "$^" means "all inputs".