diff --git a/common.mk b/common.mk index 9a8f1c5708..6615623cf5 100644 --- a/common.mk +++ b/common.mk @@ -275,7 +275,7 @@ EXPORTOBJS = $(DLNOBJ) \ $(COMMONOBJS) OBJS = $(EXPORTOBJS) builtin.$(OBJEXT) -ALLOBJS = $(NORMALMAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(INITOBJS) +ALLOBJS = $(OBJS) $(MINIOBJS) $(INITOBJS) $(MAINOBJ) GOLFOBJS = goruby.$(OBJEXT) @@ -718,7 +718,7 @@ clear-installed-list: PHONY clean: clean-ext clean-enc clean-golf clean-docs clean-extout clean-local clean-platform clean-spec clean-local:: clean-runnable - $(Q)$(RM) $(OBJS) $(MINIOBJS) $(INITOBJS) $(MAINOBJ) $(LIBRUBY_A) $(LIBRUBY_SO) $(LIBRUBY) $(LIBRUBY_ALIASES) + $(Q)$(RM) $(ALLOBJS) $(LIBRUBY_A) $(LIBRUBY_SO) $(LIBRUBY) $(LIBRUBY_ALIASES) $(Q)$(RM) $(PROGRAM) $(WPROGRAM) miniruby$(EXEEXT) dmyext.$(OBJEXT) dmyenc.$(OBJEXT) $(ARCHFILE) .*.time $(Q)$(RM) y.tab.c y.output encdb.h transdb.h config.log rbconfig.rb $(ruby_pc) $(COROUTINE_H:/Context.h=/.time) $(Q)$(RM) probes.h probes.$(OBJEXT) probes.stamp ruby-glommed.$(OBJEXT) ruby.imp ChangeLog $(STATIC_RUBY)$(EXEEXT) diff --git a/configure.ac b/configure.ac index e816e0ea4e..530c073764 100644 --- a/configure.ac +++ b/configure.ac @@ -1110,7 +1110,7 @@ main() AC_CHECK_HEADERS(crt_externs.h, [], [], [ #include ]) - cleanlibs='$(TARGET_SO).dSYM' + cleanlibs='$(TARGET_SO:=.dSYM)' ], [solaris*], [ LIBS="-lm $LIBS" ac_cv_func_vfork=no diff --git a/defs/gmake.mk b/defs/gmake.mk index 71b6c87b0d..40a4750c73 100644 --- a/defs/gmake.mk +++ b/defs/gmake.mk @@ -469,6 +469,10 @@ benchmark/%: miniruby$(EXEEXT) update-benchmark-driver PHONY --executables="built-ruby::$(BENCH_RUBY) --disable-gem" \ $(srcdir)/$@ $(BENCH_OPTS) $(OPTS) +clean-local:: TARGET_SO = $(PROGRAM) $(WPROGRAM) $(LIBRUBY_SO) $(STATIC_RUBY) miniruby goruby +clean-local:: + -$(Q)$(RMALL) $(cleanlibs) + clean-srcs-ext:: $(Q)$(RM) $(patsubst $(srcdir)/%,%,$(EXT_SRCS)) diff --git a/enc/Makefile.in b/enc/Makefile.in index 03c7486a25..6920bc9520 100644 --- a/enc/Makefile.in +++ b/enc/Makefile.in @@ -84,6 +84,9 @@ all: make-workdir: $(Q)$(MAKEDIRS) $(WORKDIRS) +.PHONY: encs all modencs libencs enc libenc trans libtrans srcs +.PHONY: clean distclean realclean clean-srcs + clean: distclean: clean diff --git a/enc/depend b/enc/depend index a60c6957bc..128203d5ec 100644 --- a/enc/depend +++ b/enc/depend @@ -35,7 +35,7 @@ ENCSOS =<%ENCS.map {|e|%> $(ENCSODIR)/<%=e%>.$(DLEXT) \ <%}%> # ENCCLEANLIBS = <%=cleanlibs.map {|clean| clean.gsub(/\$\*(\.\w+)?/) {"$(ENCOBJS#{$1 ? ":.#{CONFIG["OBJEXT"]}=#{$1}" : ""})"} - .gsub(/\A\$\(TARGET_SO\)(.*)/) {"$(ENCSOS:=#{$1})"} + .gsub(/\$\(\KTARGET_SO(?=[:\)])/) {"ENCSOS"} }.join(" ")%> ENCCLEANOBJS = <%=cleanobjs.map {|clean| clean.gsub(/\$\*(\.\w+)?/) {"$(ENCOBJS#{$1 ? ":.#{CONFIG["OBJEXT"]}=#{$1}" : ""})"} @@ -52,7 +52,7 @@ TRANSSOS =<%TRANS.map {|e|%> $(ENCSODIR)/<%=e%>.$(DLEXT) \ <%}%> # TRANSCLEANLIBS = <%=cleanlibs.map {|clean| clean.gsub(/\$\*(\.\w+)?/) {"$(TRANSOBJS#{$1 ? ":.#{CONFIG["OBJEXT"]}=#{$1}" : ""})"} - .gsub(/\A\$\(TARGET_SO\)(.*)/) {"$(TRANSSOS:=#{$1})"} + .gsub(/\$\(\KTARGET_SO(?=[:\)])/) {"TRANSSOS"} }.join(" ")%> TRANSCLEANOBJS = <%=cleanobjs.map {|clean| clean.gsub(/\$\*(\.\w+)?/) {"$(TRANSOBJS#{$1 ? ":.#{CONFIG["OBJEXT"]}=#{$1}" : ""})"} diff --git a/lib/mkmf.rb b/lib/mkmf.rb index 84a2aa6503..92af95d423 100644 --- a/lib/mkmf.rb +++ b/lib/mkmf.rb @@ -2516,6 +2516,7 @@ static: #{$extmk && !$static ? "all" : %[$(STATIC_LIB)#{$extout ? " install-rb" mfile.puts dest mfile.print "clean-so::\n" mfile.print "\t-$(Q)$(RM) #{fseprepl[dest]} #{fseprepl[stamp]}\n" + mfile.print "\t-$(Q)$(RM_RF) #{fseprepl['$(CLEANLIBS)']}\n" mfile.print "\t-$(Q)$(RMDIRS) #{fseprepl[dir]}#{$ignore_error}\n" else mfile.print "#{f} #{stamp}\n" diff --git a/template/Makefile.in b/template/Makefile.in index 3741f228d1..e0dcee1320 100644 --- a/template/Makefile.in +++ b/template/Makefile.in @@ -269,6 +269,8 @@ ACTIONS_ENDGROUP = @$(NULLCMD) DESTDIR = @DESTDIR@ +cleanlibs = @cleanlibs@ + configure_args = @configure_args@ #### End of variables @@ -491,8 +493,9 @@ clean-local:: enc/encinit.c enc/encinit.$(OBJEXT) $(pkgconfig_DATA) \ ruby-runner.$(OBJEXT) ruby-runner.h \ || $(NULLCMD) - $(Q)find . -depth \( -name '*.bc' -o -name '*.[is]' \) -delete 2> /dev/null || true - -$(Q)$(RMALL) *.dSYM + @$(RM) $(ALLOBJS:.$(OBJEXT)=.bc) + @$(RM) $(ALLOBJS:.$(OBJEXT)=.i) + @$(RM) $(ALLOBJS:.$(OBJEXT)=.s) distclean-local:: $(Q)$(RM) \