From ce5af582a0552d1ccbe66e8b3ee3ca046f6b18c3 Mon Sep 17 00:00:00 2001 From: usa Date: Thu, 23 Aug 2012 07:15:27 +0000 Subject: [PATCH] * lib/mkmf.rb (create_makefile): add dependency to header files when depend files don't exist. now we can remove simple (and often wrong) depend files in most cases. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ lib/mkmf.rb | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 6dbd1b59f2..97ee6450f1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Thu Aug 23 16:12:40 2012 NAKAMURA Usaku + + * lib/mkmf.rb (create_makefile): add dependency to header files when + depend files don't exist. now we can remove simple (and often + wrong) depend files in most cases. + Thu Aug 23 16:02:20 2012 Koichi Sasada * ext/date/depend: add dependency to $(ruby_headers). diff --git a/lib/mkmf.rb b/lib/mkmf.rb index 2c50ff568c..cb3adbad03 100644 --- a/lib/mkmf.rb +++ b/lib/mkmf.rb @@ -50,6 +50,7 @@ module MakeMakefile CXX_EXT.concat(%w[C]) end SRC_EXT = C_EXT + CXX_EXT + HDR_EXT = %w[h hpp] $static = nil $config_h = '$(arch_hdrdir)/ruby/config.h' $default_static = $static @@ -2016,6 +2017,8 @@ RULES end $srcs = srcs + hdrs = Dir[File.join(srcdir, "*.{#{HDR_EXT.join(%q{,})}}")] + target = nil if $objs.empty? if target and EXPORT_PREFIX @@ -2069,6 +2072,7 @@ LIBS = #{$LIBRUBYARG} #{$libs} #{$LIBS} ORIG_SRCS = #{orig_srcs.collect(&File.method(:basename)).join(' ')} SRCS = $(ORIG_SRCS) #{(srcs - orig_srcs).collect(&File.method(:basename)).join(' ')} OBJS = #{$objs.join(" ")} +HDRS = #{hdrs.map{|h| '$(srcdir)/' + File.basename(h)}.join(' ')} TARGET = #{target} TARGET_NAME = #{target && target[/\A\w+/]} TARGET_ENTRY = #{EXPORT_PREFIX || ''}Init_$(TARGET_NAME) @@ -2228,7 +2232,7 @@ site-install-rb: install-rb if File.exist?(depend) mfile.print("###\n", *depend_rules(File.read(depend))) else - mfile.print "$(OBJS): $(ruby_headers)\n" + mfile.print "$(OBJS): $(HDRS) $(ruby_headers)\n" end $makefile_created = true