diff options
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | common.mk | 2 | ||||
-rw-r--r-- | cygwin/GNUmakefile.in | 3 | ||||
-rwxr-xr-x | ext/extmk.rb | 11 |
4 files changed, 23 insertions, 6 deletions
@@ -1,3 +1,16 @@ +Wed Oct 17 21:16:47 2012 Hiroshi Shirosaki <h.shirosaki@gmail.com> + + * common.mk (WPROGRAM): need same dependencies as PROGRAM. + + * cygwin/GNUmakefile.in (uncommon.mk): move include position + below WPROGRAM definition to be defined in uncommon.mk. + + * ext/extmk.rb (all, static): fix make rubyw.exe failure with make -jN. + If make of ruby.exe and rubyw.exe run in parallel, link dll and link + exe run in parallel, which causes link failure on mingw. To fix this, + we make ruby.exe and rubyw.exe in one make process. + [ruby-core:48007] [Bug #7165] + Wed Oct 17 16:25:34 2012 Koichi Sasada <ko1@atdot.net> * benchmark/bm_vm2_method_missing.rb: add a benchmark to measure @@ -212,7 +212,7 @@ Doxyfile: $(srcdir)/template/Doxyfile.tmpl $(PREP) $(srcdir)/tool/generic_erb.rb program: showflags $(PROGRAM) wprogram: showflags $(WPROGRAM) -$(PROGRAM): $(LIBRUBY) $(MAINOBJ) $(OBJS) $(EXTOBJS) $(SETUP) $(PREP) +$(PROGRAM) $(WPROGRAM): $(LIBRUBY) $(MAINOBJ) $(OBJS) $(EXTOBJS) $(SETUP) $(PREP) $(LIBRUBY_A): $(OBJS) $(MAINOBJ) $(DMYEXT) $(ARCHFILE) diff --git a/cygwin/GNUmakefile.in b/cygwin/GNUmakefile.in index 19d1727dd7..2b0a806c2c 100644 --- a/cygwin/GNUmakefile.in +++ b/cygwin/GNUmakefile.in @@ -1,5 +1,4 @@ include Makefile --include uncommon.mk ENABLE_SHARED=@ENABLE_SHARED@ DLLWRAP = @DLLWRAP@ --target=@target_os@ --driver-name="$(CC)" @@ -35,6 +34,8 @@ EXTOBJS += $(if $(filter-out $(RUBYW_INSTALL_NAME),$(@:$(EXEEXT)=)),$(RUBY_INSTA RCFILES = $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(DLL_BASE_NAME).rc RUBYDEF = $(DLL_BASE_NAME).def +-include uncommon.mk + ruby: $(PROGRAM) rubyw: $(WPROGRAM) stub: $(STUBPROGRAM) diff --git a/ext/extmk.rb b/ext/extmk.rb index df86c0f37d..40c3f40bdd 100755 --- a/ext/extmk.rb +++ b/ext/extmk.rb @@ -656,13 +656,11 @@ if $configure_only and $command_output mf.puts "#{tgt}: $(extensions:/.=/#{tgt})" end mf.puts - mf.puts "all: #{rubies.join(' ')}" - mf.puts "static: #{rubies.join(' ')}" mf.puts "clean:\n\t-$(Q)$(RM) ext/extinit.#{$OBJEXT}" mf.puts "distclean:\n\t-$(Q)$(RM) ext/extinit.c" mf.puts mf.puts "#{rubies.join(' ')}: $(extensions:/.=/#{$force_static ? 'static' : 'all'})" - rubies.each do |tgt| + (["all static"] + rubies).each_with_index do |tgt, i| mf.print "#{tgt}:\n\t$(Q)$(MAKE) " mf.print "$(MFLAGS) " if enable_config("shared", $enable_shared) @@ -671,7 +669,12 @@ if $configure_only and $command_output else mf.print %[EXTOBJS="$(EXTOBJS) $(ENCOBJS)" EXTLIBS="$(EXTLIBS)" ] end - mf.puts 'EXTLDFLAGS="$(EXTLDFLAGS)" $@' + mf.print 'EXTLDFLAGS="$(EXTLDFLAGS)" ' + if i == 0 + mf.puts rubies.join(' ') + else + mf.puts '$@' + end end mf.puts exec = config_string("exec") {|str| str + " "} |