From 43545252f730a16a3c716600b3f5bfada4f690de Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 26 Jan 2017 08:19:34 +0000 Subject: Parallel gem configuration git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57424 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- template/configure-ext.mk.tmpl | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) (limited to 'template') 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: -- cgit v1.2.3