CXX = /usr/bin/c++ CXXFLAGS = -g DEPEND = c++ -MM DEL = rm -rf LD = $(CXX) LDFLAGS = -lm SOURCES := $(wildcard *.cc) OBJECTS := $(SOURCES:.cc=.o) EXESRC := $(wildcard *.cpp) EXECUTABLES := $(EXESRC:.cpp=.exe) all: $(EXECUTABLES) %.exe : %.cpp $(OBJECTS); ${LD} $(CXXFLAGS) $< $(OBJECTS) $(LDFLAGS) -o $@ %.o : %.cc; $(CXX) $(CXXFLAGS) -c $< -o $@ %.d : %.cc; $(DEPEND) $(CXXFLAGS) $< | grep -v /usr/include > $@ clean: ; $(DEL) *.d; $(DEL) *.o; $(DEL) *.exe clear: ; $(DEL) *~ include $(SOURCES:.cc=.d)