OBJS := $(patsubst %.cc,%.o,$(wildcard *.cc)) all: $(OBJS) %.o: %.cc $(CXX) -c -o $@ $(CXXFLAGS) $< # Make dependency files %.dep: %.cc @set -e; rm -f $@; \ $(CXX) -MM $(CPPFLAGS) $< > $@.$$$$; \ sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \ rm -f $@.$$$$ clean: -$(RM) -f *.o *.dep $(ARCHIVE) # Include dependency files include $(OBJS:.o=.dep)