diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-01-26 08:19:34 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-01-26 08:19:34 +0000 |
commit | 72ad0019ba2c6065e2fa37ef314c8b1a77ff0bd1 (patch) | |
tree | 3fcbbfbfc33ff86c2ad79a16f9b7ee7bf5887af7 /template | |
parent | 17ee91960f34fa031af740d2d86987e9bf6a9e5c (diff) |
Parallel gem configuration
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'template')
-rw-r--r-- | template/configure-ext.mk.tmpl | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/template/configure-ext.mk.tmpl b/template/configure-ext.mk.tmpl index cf3f3b4e61..df51404069 100644 --- a/template/configure-ext.mk.tmpl +++ b/template/configure-ext.mk.tmpl @@ -13,20 +13,29 @@ opt = OptionParser.new do |o| o.order!(ARGV) end srcdir ||= File.dirname(File.dirname(__FILE__)) -exts = Dir.glob("#{srcdir}/ext/*/").map(&File.method(:basename)) +exts = {} +[["ext", "exts"], ["gems", "gems"]].each do |t, dir| + exts[t] = Dir.glob("#{srcdir}/#{dir}/*/").map {|n| n[(srcdir.size+1)..-1]} +end %> MINIRUBY = <%=miniruby%> SCRIPT_ARGS = <%=script_args%> +EXTMK_ARGS = $(SCRIPT_ARGS) --extstatic $(EXTSTATIC) \ + --gnumake=$(gnumake) --extflags="$(EXTLDFLAGS)" \ + +all: exts gems +exts: +gems: -all: -% exts.each do |dir| -all: ext/<%=dir%>/exts.mk -ext/<%=dir%>/exts.mk: FORCE - $(Q)$(MINIRUBY) $(srcdir)/ext/extmk.rb --make='$(MAKE)' --command-output=ext/<%=dir%>/exts.mk \ - $(SCRIPT_ARGS) --extension=<%=dir%> --extstatic $(EXTSTATIC) \ - --gnumake=$(gnumake) --extflags="$(EXTLDFLAGS)" \ - -- subconfigure +% exts.each do |t, dirs| +% dirs.each do |dir| +<%=t%>: <%=dir%>/exts.mk +<%=dir%>/exts.mk: FORCE + $(Q)$(MINIRUBY) $(srcdir)/ext/extmk.rb --make='$(MAKE)' \ + --command-output=$@ $(EXTMK_ARGS) \ + -- subconfigure $(@D) +% end % end -.PHONY: FORCE +.PHONY: FORCE all exts gems FORCE: |