diff --git a/Makefile b/Makefile index ff871c4373..96e3a874bf 100644 --- a/Makefile +++ b/Makefile @@ -172,7 +172,6 @@ uninstall-data: clean:: $(RM) $(ALLPROGS) $(RM) $(CLEANSUFFIXES) - $(RM) $(TOOLS) $(RM) $(CLEANSUFFIXES:%=tools/%) distclean:: diff --git a/common.mak b/common.mak index d781ced09e..9193455c56 100644 --- a/common.mak +++ b/common.mak @@ -49,4 +49,13 @@ CLEANSUFFIXES = *.d *.o *~ *.ho *.map *.ver DISTCLEANSUFFIXES = *.pc LIBSUFFIXES = *.a *.lib *.so *.so.* *.dylib *.dll *.def *.dll.a *.exp +define RULES +clean:: + $(RM) $(OBJS) $(OBJS:.o=.d) + $(RM) $(HOSTPROGS) + $(RM) $(TOOLS) +endef + +$(eval $(RULES)) + -include $(wildcard $(OBJS:.o=.d) $(TESTOBJS:.o=.d)) diff --git a/library.mak b/library.mak index f50e8e59ee..8dde8f47da 100644 --- a/library.mak +++ b/library.mak @@ -47,8 +47,7 @@ $(SUBDIR)$(SLIBNAME_WITH_MAJOR): $(OBJS) $(SUBDIR)lib$(NAME).ver $(DEP_LIBS) clean:: $(RM) $(addprefix $(SUBDIR),*-example$(EXESUF) *-test$(EXESUF) $(CLEANFILES) $(CLEANSUFFIXES) $(LIBSUFFIXES)) \ - $(foreach dir,$(DIRS),$(CLEANSUFFIXES:%=$(SUBDIR)$(dir)/%)) \ - $(HOSTOBJS) $(HOSTPROGS) + $(foreach dir,$(DIRS),$(CLEANSUFFIXES:%=$(SUBDIR)$(dir)/%)) distclean:: clean $(RM) $(DISTCLEANSUFFIXES:%=$(SUBDIR)%) \