aboutsummaryrefslogtreecommitdiffstats
path: root/template
diff options
context:
space:
mode:
Diffstat (limited to 'template')
-rw-r--r--template/configure-ext.mk.tmpl29
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: