summaryrefslogtreecommitdiff
path: root/win32/Makefile.sub
diff options
context:
space:
mode:
Diffstat (limited to 'win32/Makefile.sub')
-rw-r--r--win32/Makefile.sub16
1 files changed, 16 insertions, 0 deletions
diff --git a/win32/Makefile.sub b/win32/Makefile.sub
index 0512df4308..a876ab2d72 100644
--- a/win32/Makefile.sub
+++ b/win32/Makefile.sub
@@ -810,3 +810,19 @@ dir.$(OBJEXT) win32.$(OBJEXT): {$(srcdir)}win32/dir.h
ext/extinit.obj: ext/extinit.c $(SETUP)
$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c ext/extinit.c
+
+!ifdef insns
+make_insns_rules:
+ @type <<
+$(insns): $$(srcdir)/insns.def {$$(VPATH)}vm_opts.h $$(srcdir)/defs/opt_operand.def $$(srcdir)/defs/opt_insn_unif.def
+ @$$(RM) $$(PROGRAM)
+ $$(BASERUBY) -Ks $$(srcdir)/tool/insns2vm.rb $$(INSNS2VMOPT) $(insns)
+
+<<
+!else if [exit > insns_rules.mk]
+!else if [for %I in ($(INSNS)) do @$(MAKE) -l insns=%I make_insns_rules >> insns_rules.mk]
+!else
+! include insns_rules.mk
+! if [del insns_rules.mk > nul]
+! endif
+!endif