diff --git a/lib/rubygems/ext/builder.rb b/lib/rubygems/ext/builder.rb index b70be22dc038..6d32be6515b9 100644 --- a/lib/rubygems/ext/builder.rb +++ b/lib/rubygems/ext/builder.rb @@ -24,14 +24,14 @@ def self.make(dest_path, results, make_dir = Dir.pwd) # try to find make program from Ruby configure arguments first RbConfig::CONFIG['configure_args'] =~ /with-make-prog\=(\w+)/ - make_program = ENV['MAKE'] || ENV['make'] || $1 - unless make_program - make_program = (/mswin/ =~ RUBY_PLATFORM) ? 'nmake' : 'make' + make_program_name = ENV['MAKE'] || ENV['make'] || $1 + unless make_program_name + make_program_name = (/mswin/ =~ RUBY_PLATFORM) ? 'nmake' : 'make' end - make_program = Shellwords.split(make_program) + make_program = Shellwords.split(make_program_name) # The installation of the bundled gems is failed when DESTDIR is empty in mswin platform. - destdir = (ENV['DESTDIR'] && ENV['DESTDIR'] != "") ? 'DESTDIR=%s' % ENV['DESTDIR'] : '' + destdir = (/\bnmake/i !~ make_program_name || ENV['DESTDIR'] && ENV['DESTDIR'] != "") ? 'DESTDIR=%s' % ENV['DESTDIR'] : '' ['clean', '', 'install'].each do |target| # Pass DESTDIR via command line to override what's in MAKEFLAGS