diff --git a/common.mk b/common.mk index ccbc25f401..40eec62f5f 100644 --- a/common.mk +++ b/common.mk @@ -1953,12 +1953,10 @@ modular-gc: probes.h modular-gc-precheck $(CHDIR) gc/$(MODULAR_GC) && $(exec) $(MAKE) TARGET_SO_DIR=./ $(CP) gc/$(MODULAR_GC)/librubygc.$(MODULAR_GC).$(DLEXT) $(modular_gc_dir) -clean-modular-gc: - - find gc -type d -mindepth 1 -maxdepth 1 -exec sh -c '$(CHDIR) "{}" && $(MAKE) TARGET_SO_DIR=./ clean || $(NULLCMD)' \; || $(NULLCMD) - -$(Q) $(RMDIR) gc -distclean-modular-gc: clean-modular-gc - - find gc -type d -mindepth 1 -maxdepth 1 -exec sh -c '$(CHDIR) "{}" && $(MAKE) TARGET_SO_DIR=./ distclean || $(NULLCMD)' \; || $(NULLCMD) - - find gc -type d -mindepth 1 -maxdepth 1 -exec sh -c '$(RMDIR) "{}"' \; || $(NULLCMD) +clean-modular-gc: gc/clean +distclean-modular-gc: gc/distclean +realclean-modular-gc: gc/realclean +distclean-modular-gc realclean-modular-gc: -$(Q) $(RMDIR) gc help: PHONY diff --git a/template/Makefile.in b/template/Makefile.in index ca7c551830..39d5bdd156 100644 --- a/template/Makefile.in +++ b/template/Makefile.in @@ -567,6 +567,12 @@ ext/distclean ext/realclean .bundle/distclean .bundle/realclean:: .bundle/realclean:: @$(RMALL) $(tooldir)/bunlder/*.lock $(srcdir)/.bundle +gc/clean gc/distclean gc/realclean:: + - for gc in gc/*/; do ($(CHDIR) $$gc && exec $(MAKE) TARGET_SO_DIR=./ $(@F)); done || $(NULLCMD) + +gc/distclean gc/realclean:: + - for gc in gc/*/; do $(RMDIR) $$gc; done || $(NULLCMD) + clean-enc distclean-enc realclean-enc: @test -f "$(ENC_MK)" || exit 0; \ echo $(@:-enc=ing) encodings; \ diff --git a/win32/Makefile.sub b/win32/Makefile.sub index 46b50e9df0..86ecfc88fd 100644 --- a/win32/Makefile.sub +++ b/win32/Makefile.sub @@ -1295,6 +1295,11 @@ ext/distclean gems/distclean ext/realclean gems/realclean:: do $(Q)(del %I & rmdir %~dpI)) || @ -$(Q)rmdir $(@D) 2> nul || @ +gc/clean gc/distclean gc/realclean:: + - for /D %G in (gc\*) do (pushd %G && $(MAKE) TARGET_SO_DIR=./ $(@F) & popd) || $(NULLCMD) +gc/distclean gc/realclean:: + - for /D %G in (gc\*) do ($(RMDIR) %G) || $(NULLCMD) + clean-enc distclean-enc realclean-enc: !if exist($(ENC_MK)) $(ECHO) $(@:-enc=ing) encodings