[前][次][番号順一覧][スレッド一覧]

ruby-changes:17817

From: nobu <ko1@a...>
Date: Thu, 18 Nov 2010 23:56:44 +0900 (JST)
Subject: [ruby-changes:17817] Ruby:r29828 (trunk): * win32/Makefile.sub (scriptbin): create script binaries.

nobu	2010-11-18 23:56:34 +0900 (Thu, 18 Nov 2010)

  New Revision: 29828

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=29828

  Log:
    * win32/Makefile.sub (scriptbin): create script binaries.

  Modified files:
    trunk/ChangeLog
    trunk/win32/Makefile.sub

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 29827)
+++ ChangeLog	(revision 29828)
@@ -1,3 +1,7 @@
+Thu Nov 18 23:56:32 2010  Nobuyoshi Nakada  <nobu@r...>
+
+	* win32/Makefile.sub (scriptbin): create script binaries.
+
 Thu Nov 18 23:21:23 2010  Kouhei Sutou  <kou@c...>
 
 	* lib/rexml/formatters/pretty.rb (REXML::Formatters::Pretty#wrap):
Index: win32/Makefile.sub
===================================================================
--- win32/Makefile.sub	(revision 29827)
+++ win32/Makefile.sub	(revision 29828)
@@ -44,6 +44,7 @@
 !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,7 +349,32 @@
 
 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 @@
 		$(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 @@
 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]

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]