summaryrefslogtreecommitdiff
path: root/enc/depend
diff options
context:
space:
mode:
Diffstat (limited to 'enc/depend')
-rw-r--r--enc/depend21
1 files changed, 21 insertions, 0 deletions
diff --git a/enc/depend b/enc/depend
index 9a7cf1a1ff..8fc836daff 100644
--- a/enc/depend
+++ b/enc/depend
@@ -1,3 +1,24 @@
+! encs = (Dir.open($srcdir) {|d| d.grep(/.+\.c\z/)} - CONFIG["BUILTIN_ENCS"].split).each {|e| e.chomp!(".c")}
+
+VPATH = <% %w[$(arch_hdrdir)/ruby $(hdrdir)/ruby $(top_srcdir) $(srcdir)].join(CONFIG["PATH_SEPARATOR"]) %>
+
+ENCOBJS = <%encs.map {|e|"#{e}.$(OBJEXT)"}.join(" \\\n\t ")+"\n"%>
+
+ENCSOS = <%encs.map {|e|"$(ENCSODIR)/#{e}.$(DLEXT)"}.join(" \\\n\t ")+"\n"%>
+
all: $(ENCSOS)
+.c.$(OBJEXT):
+ <%COMPILE_C%>
+
$(ENCOBJS): regenc.h oniguruma.h config.h defines.h
+
+! encs.each do |e|
+
+$(ENCSODIR)/<%e%>.$(DLEXT): <%e%>.$(OBJEXT)
+ <%LINK_SO.gsub(/\n/, "\n\t")%>
+! end
+
+! encs.each do |e|
+<%e%>.$(OBJEXT): <%e%>.c
+! end