diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | ext/extmk.rb | 5 |
2 files changed, 9 insertions, 3 deletions
@@ -1,3 +1,8 @@ +Tue Mar 3 17:10:09 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * ext/extmk.rb (extmake): removes object files no longer used and + files to be removed by old distclean. + Tue Mar 3 16:51:51 2009 NAKAMURA Usaku <usa@ruby-lang.org> * ext/dl/win32/lib/win32/resolv.rb: get rid of warning. @@ -40,8 +45,6 @@ Tue Mar 3 14:57:28 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> * common.mk (main): passes $(MAKE) to mkmain_cmd - * ext/extmk.rb (extmake): removes object files no longer used. - * ext/extmk.rb (command_output): uses arguments to invoke make. Tue Mar 3 01:56:03 2009 Tanaka Akira <akr@fsij.org> diff --git a/ext/extmk.rb b/ext/extmk.rb index 509c93e46f..10cb056302 100644 --- a/ext/extmk.rb +++ b/ext/extmk.rb @@ -80,6 +80,7 @@ def extract_makefile(makefile, keep = true) end $objs = (m[/^OBJS[ \t]*=[ \t](.*)/, 1] || "").split $srcs = (m[/^SRCS[ \t]*=[ \t](.*)/, 1] || "").split + $distcleanfiles = (m[/^DISTCLEANFILES[ \t]*=[ \t](.*)/, 1] || "").split $LOCAL_LIBS = m[/^LOCAL_LIBS[ \t]*=[ \t]*(.*)/, 1] || "" $LIBPATH = Shellwords.shellwords(m[/^libpath[ \t]*=[ \t]*(.*)/, 1] || "") - %w[$(libdir) $(topdir)] true @@ -139,6 +140,7 @@ def extmake(target) $extconf_h = nil ok &&= extract_makefile(makefile) old_objs = $objs + old_cleanfiles = $distcleanfiles conf = ["#{$srcdir}/makefile.rb", "#{$srcdir}/extconf.rb"].find {|f| File.exist?(f)} if (($extconf_h && !File.exist?($extconf_h)) || !(t = modified?(makefile, MTIMES)) || @@ -179,7 +181,8 @@ def extmake(target) args += ["static"] unless $clean $extlist.push [$static, $target, File.basename($target), $preload] end - FileUtils.rm_f($objs - old_objs) + FileUtils.rm_f(old_cleanfiles - $distcleanfiles) + FileUtils.rm_f(old_objs - $objs) unless system($make, *args) $ignore or $continue or return false end |