clean: ifeq "$(ALL_DIRS)$(ALL_DIRS)" "" @echo "Makefile-maintain clean: ALL_DIRS and/or EXTRA_CLEAN_FILES must be defined" else rm -f $(EXTRA_CLEAN_FILES) $(ALL_DIRS)/*.{a,o,d} endif ALL_DEPS=$(ALL_OBJS:.o=.d) ifneq "$(MAKECMDGOALS)" "clean" -include $(ALL_DEPS) endif depend: $(ALL_DEPS) %.d: %.cpp @set -e; rm -f $@; $(CXX) $(CXXFLAGS) -MM -MT $(<:.cpp=.o) $< > $@ # g++ $(CXXFLAGS) -MM -MT $(<:.o=.d) $< | sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' > $@