diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-28 12:19:49 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-28 12:19:49 +0000 |
commit | a0f7f36a5a47098c30125d3ad5c19db71fc34960 (patch) | |
tree | 2617e6c1f3be9a4481f35a7b8e831a2b3b0b9f6a /lib/mkmf.rb | |
parent | 3baef1fc22f01634b908b598beee280b7788cc36 (diff) |
mkmf.rb: each_compile_rules
* lib/mkmf.rb (MakeMakefile#each_compile_rules): splat $(*VPATH*) for
each VPATH elements.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/mkmf.rb')
-rw-r--r-- | lib/mkmf.rb | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/lib/mkmf.rb b/lib/mkmf.rb index 83ff06f029..d41e0c3552 100644 --- a/lib/mkmf.rb +++ b/lib/mkmf.rb @@ -1879,6 +1879,19 @@ all install static install-so install-rb: Makefile RULES end + def each_compile_rules + vpath_splat = /\$\(\*VPATH\*\)/ + COMPILE_RULES.each do |rule| + if vpath_splat =~ rule + $VPATH.each do |path| + yield rule.sub(vpath_splat) {path} + end + else + yield rule + end + end + end + # Processes the data contents of the "depend" file. Each line of this file # is expected to be a file name. # @@ -1889,7 +1902,7 @@ RULES depout = [] cont = implicit = nil impconv = proc do - COMPILE_RULES.each {|rule| depout << (rule % implicit[0]) << implicit[1]} + each_compile_rules {|rule| depout << (rule % implicit[0]) << implicit[1]} implicit = nil end ruleconv = proc do |line| @@ -2208,13 +2221,13 @@ site-install-rb: install-rb compile_command = "\n\t$(ECHO) compiling $(<#{rsep})\n\t$(Q) %s\n\n" CXX_EXT.each do |e| - COMPILE_RULES.each do |rule| + each_compile_rules do |rule| mfile.printf(rule, e, $OBJEXT) mfile.printf(compile_command, COMPILE_CXX) end end C_EXT.each do |e| - COMPILE_RULES.each do |rule| + each_compile_rules do |rule| mfile.printf(rule, e, $OBJEXT) mfile.printf(compile_command, COMPILE_C) end @@ -2297,7 +2310,7 @@ site-install-rb: install-rb $LIBPATH = [] $INSTALLFILES = [] $NONINSTALLFILES = [/~\z/, /\A#.*#\z/, /\A\.#/, /\.bak\z/i, /\.orig\z/, /\.rej\z/, /\.l[ao]\z/, /\.o\z/] - $VPATH = %w[$(srcdir) $(arch_hdrdir)/ruby $(hdrdir)/ruby] + $VPATH = %w[$(srcdir) $(topdir) $(arch_hdrdir)/ruby $(hdrdir)/ruby] $objs = nil $srcs = nil |