aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.in1
-rw-r--r--template/exts.mk.tmpl9
2 files changed, 10 insertions, 0 deletions
diff --git a/Makefile.in b/Makefile.in
index d3bbfd98a3..f5940555f9 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -417,6 +417,7 @@ distclean-local::
-$(Q)$(RMDIRS) $(arch_hdrdir)/ruby 2> /dev/null || true
clean-ext distclean-ext realclean-ext::
+ @[ -f $(EXTS_MK) ] && $(MAKE) -f $(EXTS_MK) $(@:-ext=)
@cd ext 2>/dev/null || exit 0; set dummy `echo "${EXTS}" | tr , ' '`; shift; \
test "$$#" = 0 && set .; \
set dummy `\
diff --git a/template/exts.mk.tmpl b/template/exts.mk.tmpl
index e4633c415a..3ddc7cb4ca 100644
--- a/template/exts.mk.tmpl
+++ b/template/exts.mk.tmpl
@@ -91,6 +91,9 @@ end
% unless macros["MFLAGS"].empty?
MFLAGS =<%= macros["MFLAGS"].fold(column) %>
% end
+% RbConfig::MAKEFILE_CONFIG.keys.grep(/RM/) do |k|
+<%=k%> = <%=RbConfig::MAKEFILE_CONFIG[k]%>
+% end
extensions =<%= macros["extensions"].fold(column) %>
EXTOBJS =<%= macros["EXTOBJS"].fold(column) %>
@@ -125,7 +128,13 @@ ext/extinit.<%=objext%>:
% targets.product(macros["extensions"].map {|e|e.chomp("/.")}) do |t, e|
<%=e%>/<%=t%>:
+% if /^(dist|real)clean$/ =~ t
+ $(ECHO) $(@F)ing $(@D)
+% end
$(Q)<%= submake %><%=mflags%> V=$(V) $(@F)
+% if /^(dist|real)clean$/ =~ t
+ $(Q)$(RMDIRS) $(@D)
+% end
% end
extso: