diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-06-07 09:30:35 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-06-07 09:30:35 +0000 |
commit | 9c0083e3ea02484e2159575d89f4007d15edad9f (patch) | |
tree | 34ec5b46e247d6756abe1129844aa35c88f6ae4e /lib/mkmf.rb | |
parent | 12c6e816baff9d86262606aeef48e49036c7a77f (diff) |
* lib/mkmf.rb (create_makefile): add .SUFFIXES from depend file.
fixed: [ruby-dev:26294]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/mkmf.rb')
-rw-r--r-- | lib/mkmf.rb | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/mkmf.rb b/lib/mkmf.rb index 3c61eccbda..d5fa3e51c5 100644 --- a/lib/mkmf.rb +++ b/lib/mkmf.rb @@ -1104,11 +1104,13 @@ site-install-rb: install-rb depend = File.join(srcdir, "depend") if File.exist?(depend) + suffixes = [] + depout = [] open(depend, "r") do |dfile| mfile.printf "###\n" cont = implicit = nil impconv = proc do - COMPILE_RULES.each {|rule| mfile.print(rule % implicit[0], implicit[1])} + COMPILE_RULES.each {|rule| depout << (rule % implicit[0]) << implicit[1]} implicit = nil end ruleconv = proc do |line| @@ -1121,12 +1123,13 @@ site-install-rb: install-rb end end if m = /\A\.(\w+)\.(\w+)(?:\s*:)/.match(line) + suffixes << m[1] << m[2] implicit = [[m[1], m[2]], [m.post_match]] next elsif RULE_SUBST and /\A[$\w][^#]*:/ =~ line line.gsub!(%r"(\s)(?!\.)([^$(){}+=:\s\/\\,]+)(?=\s|\z)") {$1 + RULE_SUBST % $2} end - mfile.print line + depout << line end while line = dfile.gets() line.gsub!(/\.o\b/, ".#{$OBJEXT}") @@ -1146,6 +1149,10 @@ site-install-rb: install-rb impconv.call end end + unless suffixes.empty? + mfile.print ".SUFFIXES: .", suffixes.uniq.join(" ."), "\n\n" + end + mfile.print depout else headers = %w[ruby.h defines.h] if RULE_SUBST |