summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--lib/mkmf.rb6
2 files changed, 11 insertions, 1 deletions
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 <usa@ruby-lang.org>
+
+ * 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 <ko1@atdot.net>
* 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