diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-11-18 14:56:34 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-11-18 14:56:34 +0000 |
commit | 7ae23d32c2044ad21a29045f611a1f0c6dde59a0 (patch) | |
tree | 735606a77349fe86f685178c0790118d132b9408 /win32 | |
parent | 6fcd0b37b3cf9b37f3bd2833cef614ae22f3f7ca (diff) | |
download | ruby-7ae23d32c2044ad21a29045f611a1f0c6dde59a0.tar.gz |
* win32/Makefile.sub (scriptbin): create script binaries.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'win32')
-rw-r--r-- | win32/Makefile.sub | 58 |
1 files changed, 46 insertions, 12 deletions
diff --git a/win32/Makefile.sub b/win32/Makefile.sub index a14c87d855..b0a32dec55 100644 --- a/win32/Makefile.sub +++ b/win32/Makefile.sub @@ -44,6 +44,7 @@ RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME:ruby=rubyw) !if "$(RUBYW_INSTALL_NAME)" == "$(RUBY_INSTALL_NAME)" RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME)w !endif +STUBPROGRAM = rubystub$(EXEEXT) !if !defined(icondirs) && defined(ICONDIRS) icondirs=$(ICONDIRS) !endif @@ -348,6 +349,31 @@ all: $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub $(srcdir)/common.mk ruby: $(PROGRAM) rubyw: $(WPROGRAM) +stub: $(STUBPROGRAM) + +!ifdef SCRIPTPROGRAMS +!else if [echo>scriptbin.mk SCRIPTPROGRAMS = \] +!else if [for %I in ($(srcdir:/=\)\bin\*) do @echo>>scriptbin.mk %~nI.exe \] +!else if [echo.>>scriptbin.mk] +!else if [echo.>>scriptbin.mk] +!else +!include scriptbin.mk +!endif +!if [for %I in ($(srcdir:/=\)\bin\*) do @for %J in (\ +"%~nI.exe: $$(srcdir)/bin/%~nI" \ +" @echo generating $$@" \ +" @copy /b $$(STUBPROGRAM) +<< +$$(srcdir:/=\)\bin\%~nI $$@ > nul" \ +"" "<<" "" \ +) do @echo.%~J>>scriptbin.mk] +!else +! include scriptbin.mk +! if [del scriptbin.mk > nul] +! endif +!endif + +scriptbin: $(SCRIPTPROGRAMS) + +$(SCRIPTPROGRAMS): $(STUBPROGRAM) up:: @cd "$(srcdir:/=\)" && set LC_TIME=C && $(VCSUP) @@ -816,6 +842,16 @@ $(WPROGRAM): $(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_SO) $(RUBYW_INSTALL_NAME).res $(Q) $(LDSHARED_2) !endif +!if "$(STUBPROGRAM)" != "" +$(STUBPROGRAM): stub.$(OBJEXT) $(LIBRUBY_SO) $(RUBY_INSTALL_NAME).res + $(ECHO) linking $(@:\=/) + $(Q) $(PURIFY) $(CC) stub.$(OBJEXT) $(RUBY_INSTALL_NAME).res \ + $(OUTFLAG)$@ $(LIBRUBYARG) -link $(LDFLAGS) $(XLDFLAGS) + $(Q) $(LDSHARED_0) + $(Q) $(LDSHARED_1) + $(Q) $(LDSHARED_2) +!endif + $(LIBRUBY_A): $(OBJS) $(DMYEXT) $(ECHO) linking static-library $(@:\=/) $(Q) $(AR) $(ARFLAGS)$@ $(OBJS) $(DMYEXT) @@ -989,18 +1025,16 @@ ext/extinit.obj: ext/extinit.c $(SETUP) INSNS = opt_sc.inc optinsn.inc optunifs.inc insns.inc insns_info.inc \ vmtc.inc vm.inc -!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 \ - $$(srcdir)/tool/instruction.rb $$(srcdir)/tool/insns2vm.rb - @$$(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] +!if [exit > insns_rules.mk] +!else if [for %I in ($(INSNS)) do \ + @for %J in (\ +"%I: $$(srcdir)/insns.def {$$(VPATH)}vm_opts.h \\" \ +" $$(srcdir)/defs/opt_operand.def $$(srcdir)/defs/opt_insn_unif.def \\" \ +" $$(srcdir)/tool/instruction.rb $$(srcdir)/tool/insns2vm.rb" \ +" @$$(RM) $$(PROGRAM)" \ +" $$(BASERUBY) -Ks $$(srcdir)/tool/insns2vm.rb $$(INSNS2VMOPT) %I" \ +"" \ +) do @echo.%~J>>insns_rules.mk] !else ! include insns_rules.mk ! if [del insns_rules.mk > nul] |