CXXFLAGS = -Wall -O2 -std=c++11 CXX = g++ BINARIES = engine CXX_FILES = $(shell echo *.cpp) H_FILES = *.h OBJ_FILES = $(CXX_FILES:.cpp=.o) .PHONY: all clean remake all: $(BINARIES) clean: rm -f $(BINARIES) $(OBJ_FILES) remake: clean all engine: $(OBJ_FILES) $(CXX) $(CXXFLAGS) -o $@ $(OBJ_FILES) strip $@ %.o: %.cpp %.h $(CXX) $(CXXFLAGS) -c -o $*.o $*.cpp