summaryrefslogtreecommitdiff
path: root/common.mk
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-01-23 02:50:23 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-01-23 02:50:23 +0000
commit17b748df2bebc3e02abcf48c06ad73469b642779 (patch)
treeab182f369cdbe4fa47dcb8cd3cc5602445c15c69 /common.mk
parentee9f6fdfada57679e2a434ce2f438a6bda20a5ad (diff)
Parallel ext configuration
* ext/configure-ext.mk: configure each directories underneath ext in parallel. * template/exts.mk.tmpl: then collect the results. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'common.mk')
-rw-r--r--common.mk14
1 files changed, 12 insertions, 2 deletions
diff --git a/common.mk b/common.mk
index 9db6a3d032..74b393fa52 100644
--- a/common.mk
+++ b/common.mk
@@ -210,9 +210,19 @@ showconfig:
exts: build-ext
EXTS_MK = exts.mk
-$(EXTS_MK): $(MKFILES) all-incs $(PREP) $(RBCONFIG) $(LIBRUBY) $(TIMESTAMPDIR)/.$(arch).time
+$(EXTS_MK): ext/configure-ext.mk $(TIMESTAMPDIR)/.$(arch).time $(srcdir)/template/exts.mk.tmpl
+ $(MAKE) -f ext/configure-ext.mk V=$(V) MINIRUBY='$(MINIRUBY)' \
+ SCRIPT_ARGS='$(SCRIPT_ARGS)' EXTSTATIC=$(EXTSTATIC) \
+ gnumake=$(gnumake) EXTLDFLAGS="$(EXTLDFLAGS)" srcdir="$(srcdir)"
$(ECHO) generating makefile $@
- $(Q)$(MINIRUBY) $(srcdir)/ext/extmk.rb --make="$(MAKE)" --command-output=$(EXTS_MK) $(EXTMK_ARGS) configure
+ $(Q)$(MINIRUBY) $(srcdir)/tool/generic_erb.rb -o $@ -c \
+ $(srcdir)/template/exts.mk.tmpl
+
+ext/configure-ext.mk: $(PREP) all-incs $(MKFILES) $(RBCONFIG) $(LIBRUBY)
+ $(ECHO) generating makefiles $@
+ $(Q)$(MAKEDIRS) ext
+ $(Q)$(MINIRUBY) $(srcdir)/tool/generic_erb.rb -o $@ -c \
+ $(srcdir)/template/$(@F).tmpl --srcdir="$(srcdir)"
configure-ext: $(EXTS_MK)