title: What do the makefile symbols $@ and $< mean?
body: <pre><code>CC=g++
  CFLAGS=-c -Wall
  LDFLAGS=
  SOURCES=main.cpp hello.cpp factorial.cpp
  OBJECTS=$(SOURCES:.cpp=.o)
  EXECUTABLE=hello
  
  all: $(SOURCES) $(EXECUTABLE)
  
  $(EXECUTABLE): $(OBJECTS)
      $(CC) $(LDFLAGS) $(OBJECTS) -o $@
  
  .cpp.o:
      $(CC) $(CFLAGS) $&lt; -o $@
  </code></pre>
  
  <p>What do the <code>$@</code> and <code>$&lt;</code> do exactly?</p>