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

ruby-changes:3462

From: ko1@a...
Date: 8 Jan 2008 20:02:26 +0900
Subject: [ruby-changes:3462] nobu - Ruby:r14955 (trunk, ruby_1_8): * win{32,ce}/Makefile.sub: merged.

nobu	2008-01-08 20:02:10 +0900 (Tue, 08 Jan 2008)

  New Revision: 14955

  Modified files:
    branches/ruby_1_8/ChangeLog
    branches/ruby_1_8/version.h
    branches/ruby_1_8/win32/Makefile.sub
    branches/ruby_1_8/wince/Makefile.sub
    trunk/ChangeLog
    trunk/win32/Makefile.sub
    trunk/wince/Makefile.sub

  Log:
    * win{32,ce}/Makefile.sub: merged.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/wince/Makefile.sub?r1=14955&r2=14954&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/wince/Makefile.sub?r1=14955&r2=14954&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=14955&r2=14954&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14955&r2=14954&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/win32/Makefile.sub?r1=14955&r2=14954&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/win32/Makefile.sub?r1=14955&r2=14954&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/version.h?r1=14955&r2=14954&diff_format=u

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 14954)
+++ ChangeLog	(revision 14955)
@@ -1,3 +1,7 @@
+Tue Jan  8 20:02:08 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* win{32,ce}/Makefile.sub: merged.
+
 Tue Jan  8 19:48:15 2008  Eric Hodel  <drbrain@s...>
 
 	* lib/rdoc/ri/driver.rb: Speed up Marshal.load. Fix bug with nested
Index: win32/Makefile.sub
===================================================================
--- win32/Makefile.sub	(revision 14954)
+++ win32/Makefile.sub	(revision 14955)
@@ -8,6 +8,16 @@
 MFLAGS=-l
 !endif
 
+!ifndef CROSS_COMPILING
+CROSS_COMPILING = 0
+!endif
+!ifndef LARGEFILE_SUPPORT
+LARGEFILE_SUPPORT = 1
+!endif
+!ifndef win_srcdir
+win_srcdir = $(srcdir)/win32
+!endif
+
 #### Start of system configuration section. ####
 
 !if defined(pathlist)
@@ -102,6 +112,9 @@
 !ifndef RUBY_SO_NAME
 RUBY_SO_NAME = $(RT)-$(RUBY_INSTALL_NAME)$(MAJOR)$(MINOR)$(TEENY)
 !endif
+!ifndef RUBY_PLATFORM
+RUBY_PLATFORM = $(arch)
+!endif
 
 !if !defined(prefix)
 prefix = /usr
@@ -133,8 +146,11 @@
 
 OUTFLAG       = -Fe
 COUTFLAG      = -Fo
+!if !defined(RUNTIMEFLAG)
+RUNTIMEFLAG   = -MD
+!endif
 !if !defined(CFLAGS)
-CFLAGS = -MD $(DEBUGFLAGS) $(OPTFLAGS) $(PROCESSOR_FLAG)
+CFLAGS = $(RUNTIMEFLAG) $(DEBUGFLAGS) $(WARNFLAGS) $(OPTFLAGS) $(PROCESSOR_FLAG)
 !endif
 !if !defined(CXXFLAGS)
 CXXFLAGS = $(CFLAGS)
@@ -151,14 +167,18 @@
 !if !defined(EXTLIBS)
 EXTLIBS =
 !endif
+!if !defined(LIBS)
 LIBS = oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib $(EXTLIBS)
+!endif
+!if !defined(MISSING)
 MISSING = acosh.obj crypt.obj erf.obj strlcpy.obj strlcat.obj win32.obj
+!endif
 
 ARFLAGS = -machine:$(MACHINE) -out:
 CC = $(CC) -nologo
 LD = $(CC)
 LDSHARED = $(LD) -LD
-XCFLAGS = -DRUBY_EXPORT -I. -I$(arch_hdrdir) -I$(hdrdir) -I$(srcdir) -I$(srcdir)/missing
+XCFLAGS = -DRUBY_EXPORT -I. -I$(arch_hdrdir) -I$(hdrdir) -I$(srcdir) -I$(srcdir)/missing $(XCFLAGS)
 !if $(MSC_VER) >= 1400
 # Prevents VC++ 2005 (cl ver 14) warnings
 DEFS = -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
@@ -166,7 +186,7 @@
 LDSHARED_1 = $(MANIFESTTOOL) -manifest $(@).manifest -outputresource:$(@);2
 LDSHARED_2 = @$(RM) $(@:/=\).manifest
 !endif
-CPPFLAGS = $(DEFS) $(CPPFLAGS)
+CPPFLAGS = $(DEFS) $(ARCHDEFS) $(CPPFLAGS)
 
 DLDFLAGS = $(LDFLAGS) -dll
 SOLIBS = 
@@ -175,15 +195,32 @@
 LIBRUBY_DLDFLAGS = $(EXTLDFLAGS) -def:$(RUBYDEF)
 
 EXEEXT = .exe
+!if !defined(PROGRAM)
 PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT)
+!endif
+!if !defined(WPROGRAM) && defined(RUBYW_INSTALL_NAME)
 WPROGRAM=$(RUBYW_INSTALL_NAME)$(EXEEXT)
+!endif
 RUBYDEF = $(RUBY_SO_NAME).def
-MINIRUBY = .\miniruby$(EXEEXT) -I$(srcdir)/lib $(MINIRUBYOPT)
-RUNRUBY = .\ruby$(EXEEXT) "$(srcdir)/runruby.rb" --extout="$(EXTOUT)" --
+!if $(CROSS_COMPILING)
+MINIRUBY = $(RUBY) -I$(MAKEDIR) -rfake
+RUNRUBY = $(MINIRUBY)
+!else
+MINIRUBY = .\miniruby$(EXEEXT) -I$(srcdir)/lib
+RUNRUBY = .\ruby$(EXEEXT)
+!endif
+MINIRUBY = $(MINIRUBY) $(MINIRUBYOPT)
+RUNRUBY = $(RUNRUBY) "$(srcdir)/runruby.rb" --extout="$(EXTOUT)" --
+!ifndef RUBY
+RUBY = ruby
+!endif
 
 !if !defined(STACK)
 STACK = 0x200000
+!if defined(STACK_COMMIT)
+STACK = $(STACK),$(STACK_COMMIT)
 !endif
+!endif
 ORGLIBPATH = $(LIB)
 
 #### End of system configuration section. ####
@@ -194,7 +231,11 @@
 LIBRUBYARG    = $(LIBRUBY)
 THREAD_MODEL  = win32
 
+!if $(CROSS_COMPILING)
+PREP          = fake.rb
+!else
 PREP          = miniruby$(EXEEXT)
+!endif
 
 !if !defined(EXTSTATIC)
 EXTSTATIC     = 
@@ -205,22 +246,43 @@
 
 INSTALLED_LIST= .installed.list
 
+!if [find "revision.h" $(srcdir:/=\)\version.h > nul 2> nul] == 0
+REVISION_H    = revision.h
+REVISION_UP   = revision-up
+!else
+REVISION_H    = version.h
+REVISION_UP   =
+!endif
+
+!if !defined(WINMAINOBJ)
 WINMAINOBJ    = winmain.$(OBJEXT)
+!endif
 MINIOBJS      = dmydln.$(OBJEXT) miniprelude.$(OBJEXT)
+LIBOBJS       = acosh.obj crypt.obj erf.obj strlcpy.obj strlcat.obj win32.obj $(LIBOBJS)
 
+!ifndef COMMON_LIBS
+COMMON_LIBS  = m
+!endif
+!ifndef COMMON_MACROS
+COMMON_MACROS = WIN32_LEAN_AND_MEAN WIN32
+!endif
+!ifndef COMMON_HEADERS
+COMMON_HEADERS = winsock2.h windows.h
+!endif
+
 arch_hdrdir = $(EXTOUT)/include/$(arch)
 hdrdir = $(srcdir)/include
-VPATH = $(arch_hdrdir)/ruby;$(hdrdir)/ruby;$(srcdir);$(srcdir)/enc;$(srcdir)/missing;$(srcdir)/win32
+VPATH = $(arch_hdrdir)/ruby;$(hdrdir)/ruby;$(srcdir);$(srcdir)/enc;$(srcdir)/missing;$(win_srcdir)
 
-all: $(srcdir)/win32/Makefile.sub $(srcdir)/common.mk
+all: $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub $(srcdir)/common.mk
 
 ruby: $(PROGRAM)
 rubyw: $(WPROGRAM)
 
 !include $(srcdir)/common.mk
 
-$(MKFILES): $(srcdir)/win32/Makefile.sub $(srcdir)/win32/configure.bat $(srcdir)/win32/setup.mak
-	$(COMSPEC) /C $(srcdir:/=\)\win32\configure.bat $(configure_args)
+$(MKFILES): $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub $(win_srcdir)/configure.bat $(win_srcdir)/setup.mak
+	$(COMSPEC) /C $(win_srcdir:/=\)\configure.bat $(configure_args)
 	@echo $(MKFILES) should be updated, re-run $(MAKE).
 
 RUBY_CONFIG_H = $(arch_hdrdir)/ruby/config.h
@@ -230,7 +292,13 @@
 
 config.status: $(CONFIG_H)
 
-$(CONFIG_H): $(MKFILES) $(srcdir)/win32/Makefile.sub
+BANG = !
+
+!if exist(config.h)
+!include config.h
+!endif
+
+$(CONFIG_H): $(MKFILES) $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub
 	@echo Creating config.h
 !if !exist("$(arch_hdrdir)")
 	@md $(arch_hdrdir:/=\)
@@ -262,7 +330,11 @@
 !endif
 #define SIZEOF___INT64 8
 #define _INTEGRAL_MAX_BITS 64
+!if $(LARGEFILE_SUPPORT)
 #define SIZEOF_OFF_T 8
+!else
+#define SIZEOF_OFF_T 4
+!endif
 !if "$(ARCH)" == "x64" || "$(ARCH)" == "ia64"
 #define SIZEOF_VOIDP 8
 !else
@@ -290,7 +362,9 @@
 #define FUNC_FASTCALL(x) __fastcall x
 #define RUBY_EXTERN extern __declspec(dllimport)
 #define HAVE_DECL_SYS_NERR 1
+!if !defined(WIN32_WCE)
 #define HAVE_LIMITS_H 1
+!endif
 #define HAVE_FCNTL_H 1
 #define HAVE_SYS_UTIME_H 1
 #define HAVE_FLOAT_H 1
@@ -301,7 +375,9 @@
 #define HAVE_ST_RDEV 1
 #define GETGROUPS_T int
 #define RETSIGTYPE void
+!if !defined(WIN32_WCE)
 #define HAVE_ALLOCA 1
+!endif
 #define HAVE_DUP2 1
 #define HAVE_MEMCMP 1
 #define HAVE_MEMMOVE 1
@@ -333,7 +409,9 @@
 #define HAVE_TIMES 1
 #define HAVE_FCNTL 1
 #define HAVE_LINK 1
+!if !defined(WIN32_WCE)
 #define HAVE__SETJMP 1
+!endif
 #define HAVE_TELLDIR 1
 #define HAVE_SEEKDIR 1
 #define HAVE_MKTIME 1
@@ -348,7 +426,9 @@
 #define FILE_READPTR _ptr
 #define inline __inline
 #define NEED_IO_SEEK_BETWEEN_RW 1
+!if "$(PROCESSOR_ARCHITECTURE)" == "x86" || "$(ARCH)" == "x64" || "$(ARCH)" == "ia64"
 #define STACK_GROW_DIRECTION -1
+!endif
 #define DEFAULT_KCODE KCODE_NONE
 #define DLEXT ".so"
 #define RUBY_LIB "/lib/ruby/$(MAJOR).$(MINOR).$(TEENY)"
@@ -360,6 +440,35 @@
 #define RUBY_ARCHLIB "/lib/ruby/$(MAJOR).$(MINOR).$(TEENY)/$(ARCH)-$(OS)"
 #define RUBY_SITE_ARCHLIB "/lib/ruby/site_ruby/$(MAJOR).$(MINOR).$(TEENY)/$(ARCH)-$(RT)"
 #define RUBY_VENDOR_ARCHLIB "/lib/ruby/vendor_ruby/$(MAJOR).$(MINOR).$(TEENY)/$(ARCH)-$(RT)"
+#define LIBRUBY_SO "$(LIBRUBY_SO)"
+#if 0
+$(BANG)if "$(RUBY_SO_NAME)"!="$$(RUBY_SO_NAME)" || "$(ARCH)-$(OS)"!="$$(ARCH)-$$(OS)"
+config.h: nul
+$(BANG)endif
+#endif
+!if defined(WIN32_WCE)
+#define GC_MALLOC_LIMIT 4000000
+#define stricmp _stricmp
+#define fopen   wce_fopen
+#define open	   _open
+#define read	   _read
+#define write	   _write
+#define lseek      _lseek
+
+#if _WIN32_WCE < 300
+  #define isascii(c) ( (c>=0x00&&c<=0x7f)?1:0 )
+  #define isspace(c) ( ((c>=0x09&&c<=0x0d)||c==0x20)?1:0 )
+  #define isdigit(c) ( (c>=0x30&&c<=0x39)?1:0 )
+  #define isupper(c) ( (c>='A'&&c<='Z')?1:0 )
+  #define isalpha(c) ( ((c>='A'&&c<='Z')||(c>='a'&&c<='z'))?1:0 )
+  #define isprint(c) ( (c>=0x20&&c<=0x7e)?1:0 )
+  #define isalnum(c) ( (isalpha(c)||isdigit(c))?1:0 )
+  #define iscntrl(c) ( ((c>=0x00&&c<=0x1f)||c==0x7f)?1:0 )
+  #define islower(c) ( (c>='a'&&c<='z')?1:0 )
+  #define ispunct(c) ( !(isalnum(c)||isspace(c))?1:0 )
+  #define isxdigit(c) ( ((c>=0&&c<=9)||(c>='A'&&c<='F')||(c>='a'&&c<='f'))?1:0 )
+#endif
+!endif
 <<
 	@exit > $(@:/=\)
 
@@ -377,7 +486,7 @@
 #	@ren $(RUBY_CONFIG_H:.h=_h).bak $(RUBY_CONFIG_H)
 #!endif
 
-config.status: $(MKFILES) $(srcdir)/win32/Makefile.sub $(srcdir)/common.mk
+config.status: $(MKFILES) $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub $(srcdir)/common.mk
 	@echo Creating $@
 	@exit <<$@
 # Generated automatically by Makefile.sub.
@@ -433,7 +542,7 @@
 s,@SET_MAKE@,MFLAGS = -$$(MAKEFLAGS),;t t
 s,@RM@,$$(COMSPEC) /C $$(top_srcdir:/=\)\win32\rm.bat,;t t
 s,@CP@,copy > nul,;t t
-s,@LIBOBJS@, acosh.obj crypt.obj erf.obj strlcpy.obj strlcat.obj win32.obj,;t t
+s,@LIBOBJS@,$(LIBOBJS),;t t
 s,@ALLOCA@,$(ALLOCA),;t t
 s,@DEFAULT_KCODE@,$(DEFAULT_KCODE),;t t
 s,@EXEEXT@,.exe,;t t
@@ -488,9 +597,9 @@
 s,@COMPILE_RULES@,{$$(hdrdir)}.%s{}.%s: {$$(topdir)}.%s{}.%s: {$$(srcdir)}.%s{}.%s: .%s.%s:,;t t
 s,@RULE_SUBST@,{.;$$(VPATH)}%s,;t t
 s,@TRY_LINK@,$$(CC) -Feconftest $$(INCFLAGS) -I$$(hdrdir) $$(CPPFLAGS) $$(CFLAGS) $$(src) $$(LOCAL_LIBS) $$(LIBS) -link $$(LDFLAGS) $$(LIBPATH) $$(XLDFLAGS),;t t
-s,@COMMON_LIBS@,m,;t t
-s,@COMMON_MACROS@,WIN32_LEAN_AND_MEAN WIN32,;t t
-s,@COMMON_HEADERS@,winsock2.h windows.h,;t t
+s,@COMMON_LIBS@,$(COMMON_LIBS),;t t
+s,@COMMON_MACROS@,$(COMMON_MACROS),;t t
+s,@COMMON_HEADERS@,$(COMMON_HEADERS),;t t
 s,@DISTCLEANFILES@,vc*.pdb,;t t
 s,@EXPORT_PREFIX@, ,;t t
 s,@arch@,$(ARCH)-$(OS),;t t
@@ -513,18 +622,22 @@
 		$(LDSHARED_1)
 		$(LDSHARED_2)
 
-$(PROGRAM):	$(LIBRUBY_SO) $(RUBY_INSTALL_NAME).res
+!if "$(PROGRAM)" != ""
+$(PROGRAM):	$(MAINOBJ) $(LIBRUBY_SO) $(RUBY_INSTALL_NAME).res
 		$(PURIFY) $(CC) $(MAINOBJ) $(RUBY_INSTALL_NAME).res \
 			$(OUTFLAG)$@ $(LIBRUBYARG) $(LDFLAGS) $(XLDFLAGS)
 		$(LDSHARED_1)
 		$(LDSHARED_2)
+!endif
 
+!if "$(WPROGRAM)" != ""
 $(WPROGRAM):	$(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_SO) $(RUBYW_INSTALL_NAME).res
 		$(PURIFY) $(CC) $(MAINOBJ) $(WINMAINOBJ) \
 			$(RUBYW_INSTALL_NAME).res $(OUTFLAG)$@ $(LIBRUBYARG) \
 			$(LDFLAGS) $(XLDFLAGS) -subsystem:Windows
 		$(LDSHARED_1)
 		$(LDSHARED_2)
+!endif
 
 $(LIBRUBY_A):	$(OBJS) $(DMYEXT)
 		$(AR) $(ARFLAGS)$@ $(OBJS) $(DMYEXT)
@@ -545,7 +658,7 @@
 		$(MINIRUBY) $(srcdir)/win32/mkexports.rb \
 		  -output=$@ -arch=$(ARCH) $(LIBRUBY_A)
 
-{$(srcdir)/win32}.def.lib:
+{$(win_srcdir)}.def.lib:
 		$(AR) $(ARFLAGS)$@ -def:$<
 
 clean-local::
@@ -563,14 +676,36 @@
 			-ruby_name=$(RUBY_INSTALL_NAME) \
 			-rubyw_name=$(RUBYW_INSTALL_NAME) \
 			-so_name=$(RUBY_SO_NAME) \
-			. $(icondirs) $(srcdir)/win32
+!if defined(WIN32_WCE)
+			-wce_ver=$(SUBSYSVERSION) \
+!endif
+			. $(icondirs) $(win_srcdir)
 
+fake.rb: $(MKFILES)
+	@echo Creating <<$@
+class Object
+  CROSS_COMPILING = RUBY_PLATFORM
+  remove_const :RUBY_PLATFORM
+  remove_const :RUBY_VERSION
+  RUBY_PLATFORM = "$(ARCH)"
+  RUBY_VERSION = "$(MAJOR).$(MINOR).$(TEENY)"
+end
+class File
+  remove_const :ALT_SEPARATOR
+  ALT_SEPARATOR = "\\"
+end
+<<KEEP
+
 {$(srcdir)/enc}.c.obj:
 	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/)
 {$(srcdir)/missing}.c.obj:
 	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/)
 {$(srcdir)/win32}.c.obj:
 	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/)
+{$(win_srcdir)}.c.obj:
+	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/)
+{$(win_srcdir)/sys}.c.obj:
+	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/)
 {$(srcdir)}.c.obj:
 	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/)
 .c.obj:
Index: wince/Makefile.sub
===================================================================
--- wince/Makefile.sub	(revision 14954)
+++ wince/Makefile.sub	(revision 14955)
@@ -1,145 +1,29 @@
 # -*- makefile -*-
 
-SHELL = $(COMSPEC)
-MKFILES = Makefile
-NULL = nul
+CROSS_COMPILING = 1
+LARGEFILE_SUPPORT = 0
 
-!ifndef MFLAGS
-MFLAGS=-l
+!ifndef win_srcdir
+win_srcdir = $(srcdir)/wince
 !endif
 
-#### Start of system configuration section. ####
-
-## variables may be overridden by $(compile_dir)/Makefile
-!ifndef srcdir
-srcdir = ..
-!endif
-!ifndef RUBY_INSTALL_NAME
-RUBY_INSTALL_NAME = ruby
-!endif
-!if !defined(RUBYW_INSTALL_NAME) || "$(RUBYW_INSTALL_NAME)" == "$(RUBY_INSTALL_NAME)"
-RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME:ruby=rubyw)
-!endif
-!if "$(RUBYW_INSTALL_NAME)" == "$(RUBY_INSTALL_NAME)"
-RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME)w
-!endif
-!if !defined(icondirs) && defined(ICONDIRS)
-icondirs=$(ICONDIRS)
-!endif
-!if defined(icondirs)
-icondirs=$(icondirs:\=/)
-iconinc=-I$(icondirs: = -I)
-!endif
-###############
-
-.SUFFIXES: .y .def .lib
-
-!if !defined(CC)
-CC = cl
-!endif
-!if !defined(CPP) || "$(CPP)" == "cl"
-CPP = $(CC) -E
-!endif
-!if !defined(YACC)
-YACC = bison
-YFLAGS = -o y.tab.c
-!endif
-AR = lib -nologo
-PURIFY =
-AUTOCONF = autoconf
-RM = $(srcdir:/=\)\win32\rm.bat
-CP = copy > nul
-MV = ren > nul
-!if !defined(BASERUBY)
-BASERUBY = ruby
-!endif
-
-!if !defined(PROCESSOR_ARCHITECTURE)
-PROCESSOR_ARCHITECTURE = x86
-!endif
-MACHINE = $(PROCESSOR_ARCHITECTURE)
-!if "$(PROCESSOR_ARCHITECTURE)" == "x86"
-!if !defined(PROCESSOR_LEVEL)
-PROCESSOR_LEVEL = 5
-!endif
-!if 6 < $(PROCESSOR_LEVEL)
-PROCESSOR_LEVEL = 6
-!endif
-PROCESSOR_FLAG = -G$(PROCESSOR_LEVEL)
-CPU = i$(PROCESSOR_LEVEL)86
-ARCH = i386
-!else
-CPU = $(PROCESSOR_ARCHITECTURE)
-ARCH = $(PROCESSOR_ARCHITECTURE)
-!endif
-!if !defined(DEBUGFLAGS)
-DEBUGFLAGS = -Zi
-!endif
-!if !defined(OPTFLAGS)
-OPTFLAGS = -w -O2b2xg-
-!endif
 !if !defined(OS) || !defined(RT)
 OS = mswince
 RT = $(OS)
 !endif
 
-arch = $(ARCH)-$(OS)
-
-!ifndef RUBY_SO_NAME
-RUBY_SO_NAME = $(RT)-$(RUBY_INSTALL_NAME)$(MAJOR)$(MINOR)$(TEENY)
+!if !defined(WARNFLAGS)
+WARNFLAGS = -w
 !endif
-!ifndef RUBY_PLATFORM
-RUBY_PLATFORM = $(arch)
-!endif
-
-!if !defined(prefix)
-prefix = /usr
-!endif
-!if !defined(exec_prefix)
-exec_prefix = $(prefix)
-!endif
-!if !defined(libdir)
-libdir = $(exec_prefix)/lib
-!endif
-!if !defined(datadir)
-datadir = $(prefix)/share
-!endif
-!ifndef EXTOUT
-EXTOUT = .ext
-!endif
-!ifndef RIDATADIR
-RIDATADIR = $(DESTDIR)$(datadir)/ri/$(MAJOR).$(MINOR)/system
-!endif
-!ifndef RDOCTARGET
-RDOCTARGET = install-doc
-!endif
-
-OUTFLAG       = -Fe
-COUTFLAG      = -Fo
-!if !defined(CFLAGS)
-CFLAGS = $(DEBUGFLAGS) $(OPTFLAGS) $(PROCESSOR_FLAG)
-!endif
-!if !defined(CPPFLAGS)
-CPPFLAGS = $(CECPUDEF) -DUNDER_CE -D_WIN32_WCE=$(SUBSYSVERSION:.=) \
+ARCHDEFS  = $(CECPUDEF) -DUNDER_CE -D_WIN32_WCE=$(SUBSYSVERSION:.=) \
            -DFILENAME_MAX=MAX_PATH -DTLS_OUT_OF_INDEXES=0xFFFFFFFF \
            -DBUFSIZ=512 -D_UNICODE -DUNICODE
-!endif
-CPPFLAGS = $(DEFS) $(CPPFLAGS)
-!if !defined(CXXFLAGS)
-CXXFLAGS = $(CFLAGS)
-!endif
 !if !defined(LDFLAGS)
 LDFLAGS = -link -incremental:yes -pdb:none -machine:$(MACHINE) -subsystem:$(SUBSYSTEM)
 !endif
 !if !defined(XLDFLAGS)
 XLDFLAGS = -stack:$(STACK) -subsystem:$(SUBSYSTEM)
 !endif
-!if !defined(RFLAGS)
-RFLAGS = -r
-!endif
-!if !defined(EXTLIBS)
-EXTLIBS =
-!endif
 LIBS = coredll.lib ceshell.lib winsock.lib  $(EXTLIBS)
 MISSING = acosh.obj crypt.obj dup2.obj erf.obj hypot.obj \
           isinf.obj isnan.obj strftime.obj strlcat.obj strlcpy.obj win32.obj \
@@ -147,408 +31,16 @@
           signal_wce.obj stdio.obj stdlib.obj string_wce.obj \
           time_wce.obj wince.obj winsock2.obj \
           stat.obj timeb.obj utime.obj
+LIBOBJS      = isinf.obj isnan.obj
+COMMON_LIBS  = coredll winsock
+COMMON_MACROS = WIN32_LEAN_AND_MEAN
+COMMON_HEADERS = winsock.h windows.h
 
-ARFLAGS = -machine:$(MACHINE) -out:
-CC = $(CC) -nologo
-LD = $(CC)
-LDSHARED = $(LD) -LD
-XCFLAGS = -DRUBY_EXPORT -I. -I$(srcdir) -I$(srcdir)/missing -I$(srcdir)/wince
-DLDFLAGS = $(LDFLAGS) -dll
-SOLIBS = 
+XCFLAGS = -I$(srcdir)/wince
 
-LIBRUBY_LDSHARED = $(LDSHARED)
-LIBRUBY_DLDFLAGS = $(EXTLDFLAGS) -def:$(RUBYDEF)
-
-EXEEXT = .exe
-PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT)
-RUBYDEF = $(RUBY_SO_NAME).def
-MINIRUBY = $(RUBY) -I$(MAKEDIR) -rfake
-RUNRUBY = $(MINIRUBY) "$(srcdir)/runruby.rb" --extout="$(EXTOUT)" --
-!ifndef RUBY
-RUBY = ruby
+!if !defined(STACK_COMMIT)
+STACK_COMMIT = 0x10000
 !endif
-
-!if !defined(STACK)
-STACK = 0x200000,0x10000
-!endif
-ORGLIBPATH = $(LIB)
-
-#### End of system configuration section. ####
-
-LIBRUBY_A     = $(RUBY_SO_NAME)-static.lib
-LIBRUBY_SO    = $(RUBY_SO_NAME).dll
-LIBRUBY       = $(RUBY_SO_NAME).lib
-LIBRUBYARG    = $(LIBRUBY)
-THREAD_MODEL  = win32
-
-PREP          = fake.rb
-
-!if !defined(EXTSTATIC)
-EXTSTATIC     = 
-!endif
-
-OBJEXT = obj
-ASMEXT = asm
-
-INSTALLED_LIST= .installed.list
-
 WINMAINOBJ    = wincemain.$(OBJEXT)
 
-arch_hdrdir = $(EXTOUT)/include/$(arch)
-hdrdir = $(srcdir)/include
-VPATH = $(arch_hdrdir)/ruby;$(hdrdir)/ruby;$(srcdir);$(srcdir)/enc;$(srcdir)/missing;$(srcdir)/wince
-
-all: $(srcdir)/wince/Makefile.sub $(srcdir)/common.mk
-ruby: $(PROGRAM)
-
-CONFIG_H = ./.config.h.time
-
-config: config.status
-
-config.status: $(CONFIG_H)
-
-BANG = !
-
-!if exist(config.h)
-!include config.h
-!endif
-
-$(CONFIG_H): $(MKFILES) $(srcdir)/wince/Makefile.sub
-	@echo Creating config.h
-	@$(srcdir:/=\)\win32\ifchange.bat config.h <<
-#define STDC_HEADERS 1
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_SYS_STAT_H 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STRING_H 1
-#define HAVE_MEMORY_H 1
-#define HAVE_OFF_T 1
-#define SIZEOF_INT 4
-#define SIZEOF_SHORT 2
-#define SIZEOF_LONG 4
-#define SIZEOF_LONG_LONG 0
-#define SIZEOF___INT64 8
-#define SIZEOF_OFF_T 4
-#define SIZEOF_VOIDP 4
-#define SIZEOF_FLOAT 4
-#define SIZEOF_DOUBLE 8
-#define SIZEOF_TIME_T 4
-#define HAVE_PROTOTYPES 1
-#define TOKEN_PASTE(x,y) x##y
-#define HAVE_STDARG_PROTOTYPES 1
-!if $(MSC_VER) > 1100
-#define NORETURN(x) __declspec(noreturn) x
-!endif
-!if $(MSC_VER) >= 1300
-#define DEPRECATED(x) __declspec(deprecated) x
-#define NOINLINE(x) __declspec(noinline) x
-!endif
-#define RUBY_EXTERN extern __declspec(dllimport)
-#define HAVE_DECL_SYS_NERR 1
-#define HAVE_FCNTL_H 1
-#define HAVE_SYS_UTIME_H 1
-#define HAVE_FLOAT_H 1
-#define rb_uid_t int
-#define rb_gid_t int
-#define rb_pid_t int
-#define HAVE_STRUCT_STAT_ST_RDEV 1
-#define HAVE_ST_RDEV 1
-#define GETGROUPS_T int
-#define RETSIGTYPE void
-#define HAVE_MEMCMP 1
-#define HAVE_MEMMOVE 1
-#define HAVE_MKDIR 1
-#define HAVE_STRCASECMP 1
-#define HAVE_STRNCASECMP 1
-#define HAVE_STRERROR 1
-#define HAVE_STRFTIME 1
-#define HAVE_STRCHR 1
-#define HAVE_STRSTR 1
-#define HAVE_STRTOD 1
-#define HAVE_STRTOL 1
-#define HAVE_STRTOUL 1
-#define HAVE_FLOCK 1
-#define HAVE_SNPRINTF 1
-#define HAVE_VSNPRINTF 1
-#define HAVE_FINITE 1
-#define HAVE_HYPOT 1
-#define HAVE_FMOD 1
-#define HAVE_FREXP 1
-#define HAVE_MODF 1
-#define HAVE_WAITPID 1
-#define HAVE_GETCWD 1
-#define HAVE_CHSIZE 0
-#define HAVE_TIMES 1
-#define HAVE_FCNTL 1
-#define HAVE_TELLDIR 1
-#define HAVE_SEEKDIR 1
-#define HAVE_MKTIME 1
-#define HAVE_COSH 1
-#define HAVE_SINH 1
-#define HAVE_TANH 1
-#define HAVE_TZNAME 1
-#define HAVE_DAYLIGHT 1
-#define SETPGRP_VOID 1
-#define RSHIFT(x,y) ((x)>>(int)y)
-#define inline __inline
-#define NEED_IO_SEEK_BETWEEN_RW 1
-#define DEFAULT_KCODE KCODE_NONE
-#define DLEXT ".so"
-#define RUBY_LIB "/lib/ruby/$(MAJOR).$(MINOR).$(TEENY)"
-#define RUBY_SITE_LIB "/lib/ruby/site_ruby"
-#define RUBY_SITE_LIB2 "/lib/ruby/site_ruby/$(MAJOR).$(MINOR).$(TEENY)"
-#define RUBY_VENDOR_LIB "/lib/ruby/vendor_ruby"
-#define RUBY_VENDOR_LIB2 "/lib/ruby/vendor_ruby/$(MAJOR).$(MINOR).$(TEENY)"
-#define RUBY_PLATFORM "$(arch)"
-#define RUBY_ARCHLIB "/lib/ruby/$(MAJOR).$(MINOR).$(TEENY)/$(ARCH)-$(OS)"
-#define RUBY_SITE_ARCHLIB "/lib/ruby/site_ruby/$(MAJOR).$(MINOR).$(TEENY)/$(ARCH)-$(RT)"
-#define RUBY_VENDOR_ARCHLIB "/lib/ruby/vendor_ruby/$(MAJOR).$(MINOR).$(TEENY)/$(ARCH)-$(RT)"
-#define LIBRUBY_SO "$(LIBRUBY_SO)"
-#if 0
-$(BANG)if "$(RUBY_SO_NAME)"!="$$(RUBY_SO_NAME)" || "$(ARCH)-$(OS)"!="$$(ARCH)-$$(OS)"
-config.h: nul
-$(BANG)endif
-#endif
-#define GC_MALLOC_LIMIT 4000000
-#define stricmp _stricmp
-#define fopen   wce_fopen
-#define open	   _open
-#define read	   _read
-#define write	   _write
-#define lseek      _lseek
-
-#if _WIN32_WCE < 300
-  #define isascii(c) ( (c>=0x00&&c<=0x7f)?1:0 )
-  #define isspace(c) ( ((c>=0x09&&c<=0x0d)||c==0x20)?1:0 )
-  #define isdigit(c) ( (c>=0x30&&c<=0x39)?1:0 )
-  #define isupper(c) ( (c>='A'&&c<='Z')?1:0 )
-  #define isalpha(c) ( ((c>='A'&&c<='Z')||(c>='a'&&c<='z'))?1:0 )
-  #define isprint(c) ( (c>=0x20&&c<=0x7e)?1:0 )
-  #define isalnum(c) ( (isalpha(c)||isdigit(c))?1:0 )
-  #define iscntrl(c) ( ((c>=0x00&&c<=0x1f)||c==0x7f)?1:0 )
-  #define islower(c) ( (c>='a'&&c<='z')?1:0 )
-  #define ispunct(c) ( !(isalnum(c)||isspace(c))?1:0 )
-  #define isxdigit(c) ( ((c>=0&&c<=9)||(c>='A'&&c<='F')||(c>='a'&&c<='f'))?1:0 )
-#endif
-<<
-	@exit > $(@:/=\)
-
-config.status: $(MKFILES) $(srcdir)/wince/Makefile.sub $(srcdir)/common.mk
-	@echo Creating $@
-	@exit <<$@
-# Generated automatically by Makefile.sub.
-s,@SHELL@,$$(COMSPEC),;t t
-s,@BUILD_FILE_SEPARATOR@,\,;t t
-s,@PATH_SEPARATOR@,;,;t t
-s,@CFLAGS@,$(CFLAGS),;t t
-s,@DEFS@,$(DEFS),;t t
-s,@CPPFLAGS@,$(CPPFLAGS),;t t
-s,@CXXFLAGS@,$(CXXFLAGS),;t t
-s,@FFLAGS@,$(FFLAGS),;t t
-s,@LDFLAGS@,,;t t
-s,@LIBS@,$(LIBS),;t t
-s,@exec_prefix@,$${prefix},;t t
-s,@prefix@,$(prefix),;t t
-s,@program_transform_name@,s,,,,;t t
-s,@bindir@,$${exec_prefix}/bin,;t t
-s,@sbindir@,$${exec_prefix}/sbin,;t t
-s,@libexecdir@,$${exec_prefix}/libexec,;t t
-s,@datadir@,$${prefix}/share,;t t
-s,@sysconfdir@,$${prefix}/etc,;t t
-s,@sharedstatedir@,/etc,;t t
-s,@localstatedir@,/var,;t t
-s,@libdir@,$${exec_prefix}/lib,;t t
-s,@includedir@,$${prefix}/include,;t t
-s,@oldincludedir@,/usr/include,;t t
-s,@infodir@,$${prefix}/info,;t t
-s,@mandir@,$${prefix}/man,;t t
-s,@build@,$(CPU)-pc-$(OS),;t t
-s,@build_alias@,$(CPU)-$(OS),;t t
-s,@build_cpu@,$(CPU),;t t
-s,@build_vendor@,pc,;t t
-s,@build_os@,$(OS),;t t
-s,@host@,$(CPU)-pc-$(OS),;t t
-s,@host_alias@,$(CPU)-$(OS),;t t
-s,@host_cpu@,$(CPU),;t t
-s,@host_vendor@,pc,;t t
-s,@host_os@,$(OS),;t t
-s,@target@,$(ARCH)-pc-$(OS),;t t
-s,@target_alias@,$(ARCH)-$(OS),;t t
-s,@target_cpu@,$(ARCH),;t t
-s,@target_vendor@,pc,;t t
-s,@target_os@,$(OS),;t t
-s,@CC@,$(CC),;t t
-s,@CPP@,$(CPP),;t t
-s,@CXX@,$$(CC),;t t
-s,@LD@,$$(CC),;t t
-s,@YACC@,$(YACC),;t t
-s,@RANLIB@,,;t t
-s,@AR@,$(AR),;t t
-s,@ARFLAGS@,$(ARFLAGS),;t t
-s,@LN_S@,$(LN_S),;t t
-s,@SET_MAKE@,MFLAGS = -$$(MAKEFLAGS),;t t
-s,@RM@,$$(top_srcdir:/=\)\win32\rm.bat,;t t
-s,@CP@,copy > nul,;t t
-s,@LIBOBJS@, acosh.obj crypt.obj erf.obj strlcat.obj strlcpy.obj win32.obj isinf.obj isnan.obj,;t t
-s,@ALLOCA@,$(ALLOCA),;t t
-s,@DEFAULT_KCODE@,$(DEFAULT_KCODE),;t t
-s,@EXEEXT@,.exe,;t t
-s,@OBJEXT@,$(OBJEXT),;t t
-s,@XCFLAGS@,$(XCFLAGS),;t t
-s,@XLDFLAGS@,$(XLDFLAGS),;t t
-s,@DLDFLAGS@,$(DLDFLAGS) $$(LIBPATH) -def:$$(DEFFILE) -implib:$$(*F:.so=)-$$(arch).lib -pdb:$$(*F:.so=)-$$(arch).pdb,;t t
-s,@ARCH_FLAG@,$(ARCH_FLAG),;t t
-s,@STATIC@,$(STATIC),;t t
-s,@CCDLFLAGS@,,;t t
-s,@LDSHARED@,$(LDSHARED),;t t
-s,@DLEXT@,so,;t t
-s,@LIBEXT@,lib,;t t
-s,@STRIP@,$(STRIP),;t t
-s,@EXTSTATIC@,$(EXTSTATIC),;t t
-s,@setup@,Setup,;t t
-s,@MINIRUBY@,$(MINIRUBY),;t t
-s,@PREP@,miniruby$(EXEEXT),;t t
-s,@RUNRUBY@,$(RUNRUBY),;t t
-s,@EXTOUT@,$(EXTOUT),;t t
-s,@ARCHFILE@,,;t t
-s,@RDOCTARGET@,,;t t
-s,@LIBRUBY_LDSHARED@,$(LIBRUBY_LDSHARED),;t t
-s,@LIBRUBY_DLDFLAGS@,$(LIBRUBY_DLDFLAGS),;t t
-s,@RUBY_INSTALL_NAME@,$(RUBY_INSTALL_NAME),;t t
-s,@rubyw_install_name@,$(RUBYW_INSTALL_NAME),;t t
-s,@RUBYW_INSTALL_NAME@,$(RUBYW_INSTALL_NAME),;t t
-s,@RUBY_SO_NAME@,$(RUBY_SO_NAME),;t t
-s,@LIBRUBY_A@,$$(RUBY_SO_NAME)-static.lib,;t t
-s,@LIBRUBY_SO@,$$(RUBY_SO_NAME).dll,;t t
-s,@LIBRUBY_ALIASES@,$(LIBRUBY_ALIASES),;t t
-s,@LIBRUBY@,$$(RUBY_SO_NAME).lib,;t t
-s,@LIBRUBYARG@,$$(LIBRUBYARG_SHARED),;t t
-s,@LIBRUBYARG_STATIC@,$$(LIBRUBY_A),;t t
-s,@LIBRUBYARG_SHARED@,$$(LIBRUBY),;t t
-s,@SOLIBS@,$(SOLIBS),;t t
-s,@DLDLIBS@,$(DLDLIBS),;t t
-s,@ENABLE_SHARED@,yes,;t t
-s,@OUTFLAG@,$(OUTFLAG),;t t
-s,@COUTFLAG@,$(COUTFLAG),;t t
-s,@CPPOUTFILE@,-P,;t t
-s,@LIBPATHFLAG@, -libpath:"%s",;t t
-s,@RPATHFLAG@,,;t t
-s,@LIBARG@,%s.lib,;t t
-s,@LINK_SO@,$$(LDSHARED) -Fe$$(@) $$(OBJS) $$(LIBS) $$(LOCAL_LIBS) $$(DLDFLAGS),;t t
-s,@COMPILE_C@,$$(CC) $$(INCFLAGS) $$(CFLAGS) $$(CPPFLAGS) $(COUTFLAG)$$(@) -c -Tc$$(<:\=/),;t t
-s,@COMPILE_CXX@,$$(CXX) $$(INCFLAGS) $$(CXXFLAGS) $$(CPPFLAGS) $(COUTFLAG)$$(@) -c -Tp$$(<:\=/),;t t
-s,@COMPILE_RULES@,{$$(srcdir)}.%s{}.%s: {$$(topdir)}.%s{}.%s: {$$(hdrdir)}.%s{}.%s: .%s.%s:,;t t
-s,@RULE_SUBST@,{.;$$(srcdir);$$(topdir);$$(hdrdir)}%s,;t t
-s,@TRY_LINK@,$$(CC) -Feconftest $$(INCFLAGS) -I$$(hdrdir) $$(CPPFLAGS) $$(CFLAGS) $$(src) $$(LOCAL_LIBS) $$(LIBS) -link $$(LDFLAGS) $$(LIBPATH) $$(XLDFLAGS),;t t
-s,@COMMON_LIBS@,coredll winsock,;t t
-s,@COMMON_MACROS@,WIN32_LEAN_AND_MEAN,;t t
-s,@COMMON_HEADERS@,winsock.h windows.h,;t t
-s,@EXPORT_PREFIX@, ,;t t
-s,@arch@,$(ARCH)-$(OS),;t t
-s,@sitearch@,$(ARCH)-$(RT),;t t
-s,@sitedir@,$${prefix}/lib/ruby/site_ruby,;t t
-s,@vendordir@,$${prefix}/lib/ruby/vendor_ruby,;t t
-s,@rubyhdrdir@,$$(includedir)/ruby-$$(MAJOR).$$(MINOR).$$(TEENY),;t t
-s,@sitehdrdir@,$$(rubyhdrdir)/site_ruby,;t t
-s,@vendorhdrdir@,$$(rubyhdrdir)/vendor_ruby,;t t
-s,@configure_args@,--with-make-prog=nmake --enable-shared $(configure_args),;t t
-s,@configure_input@,$$configure_input,;t t
-s,@srcdir@,$(srcdir),;t t
-s,@top_srcdir@,$(srcdir),;t t
-<<KEEP
-
-$(PROGRAM):	$(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_SO) $*.res
-		$(PURIFY) $(CC) $(MAINOBJ) $(WINMAINOBJ) $*.res \
-			-Fe$@ $(LIBRUBYARG) $(LDFLAGS) $(XLDFLAGS)
-
-$(LIBRUBY_A):	$(OBJS) $(DMYEXT)
-		$(AR) $(ARFLAGS)$@ $(OBJS) $(DMYEXT)
-
-$(LIBRUBY):	$(RUBYDEF)
-		$(AR) $(ARFLAGS)$@ -def:$(RUBYDEF)
-
-$(LIBRUBY_SO):	$(LIBRUBY_A) $(DLDOBJS) $(RUBYDEF) $(RUBY_SO_NAME).res
-		@echo. $(DLDOBJS)
-		@-$(PRE_LIBRUBY_UPDATE)
-		$(LDSHARED) $(MAINOBJ) $(DLDOBJS) $(LIBRUBY_A) \
-			$(RUBY_SO_NAME).res $(LIBS) -Fe$@ $(LDFLAGS) \
-			$(LIBRUBY_DLDFLAGS)
-
-$(RUBYDEF):	$(LIBRUBY_A) $(PREP)
-		$(MINIRUBY) $(srcdir)/win32/mkexports.rb \
-		  -output=$@ -arch=$(ARCH) $(LIBRUBY_A)
-
-{$(srcdir)/wince}.def.lib:
-		$(AR) $(ARFLAGS)$@ -def:$<
-
-clean-local::
-		@$(RM) ext\extinit.c ext\extinit.$(OBJEXT) ext\vc*.pdb
-		@$(RM) $(RUBY_INSTALL_NAME).res $(RUBYW_INSTALL_NAME).res $(RUBY_SO_NAME).res
-
-distclean-local::
-		@$(RM) ext\config.cache $(RBCONFIG:/=\)
-		@$(RM) *.map *.pdb *.ilk *.exp $(RUBYDEF)
-		@$(RM) $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(RUBY_SO_NAME).rc
-		@-$(RM) ext\ripper\y.output
-
-$(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(RUBY_SO_NAME).rc: $(RBCONFIG)
-		@$(MINIRUBY) $(srcdir)/win32/resource.rb \
-			-ruby_name=$(RUBY_INSTALL_NAME) \
-			-rubyw_name=$(RUBYW_INSTALL_NAME) \
-			-so_name=$(RUBY_SO_NAME) \
-			-wce_ver=$(SUBSYSVERSION) \
-			. $(icondirs) $(srcdir)/wince
-
-fake.rb: $(MKFILES)
-	@echo Creating <<$@
-class Object
-  CROSS_COMPILING = RUBY_PLATFORM
-  remove_const :RUBY_PLATFORM
-  remove_const :RUBY_VERSION
-  RUBY_PLATFORM = "$(ARCH)"
-  RUBY_VERSION = "$(MAJOR).$(MINOR).$(TEENY)"
-end
-class File
-  remove_const :ALT_SEPARATOR
-  ALT_SEPARATOR = "\\"
-end
-<<KEEP
-
-{$(srcdir)/enc}.c.obj:
-	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/)
-{$(srcdir)/missing}.c.obj:
-	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/)
-{$(srcdir)/win32}.c.obj:
-	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/)
-{$(srcdir)/wince}.c.obj:
-	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/)
-{$(srcdir)/wince/sys}.c.obj:
-	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/)
-{$(srcdir)}.c.obj:
-	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/)
-.c.obj:
-	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c -Tc$(<:\=/)
-
-{$(srcdir)/missing}.c.asm:
-	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -Fa $(COUTFLAG)$@ -c -Tc$(<:\=/)
-{$(srcdir)/win32}.c.asm:
-	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -Fa $(COUTFLAG)$@ -c -Tc$(<:\=/)
-{$(srcdir)}.c.asm:
-	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -Fa $(COUTFLAG)$@ -c -Tc$(<:\=/)
-.c.asm:
-	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -Fa $(COUTFLAG)$@ -c -Tc$(<:\=/)
-
-.rc.res:
-	$(RC) -I. -I$(<D) $(iconinc) -I$(srcdir)/win32 $(RFLAGS) -fo$@ $(<:\=/)
-
-lex.c: {$(srcdir)}lex.c.blt
-	copy $(?:/=\) $@
-
-!include $(srcdir)/common.mk
-
-$(OBJS): {$(srcdir)}win32/win32.h
-
-dir.$(OBJEXT): {$(srcdir)}win32/dir.h
-
-ext/extinit.obj: ext/extinit.c $(SETUP)
-	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) $(COUTFLAG)$@ -c ext/extinit.c
+!include $(srcdir)/win32/Makefile.sub
Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 14954)
+++ ruby_1_8/ChangeLog	(revision 14955)
@@ -1,3 +1,7 @@
+Tue Jan  8 20:02:08 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* win{32,ce}/Makefile.sub: merged.
+
 Sun Jan  6 09:39:02 2008  Tadayoshi Funaba  <tadf@d...>
 
 	* lib/date.rb, lib/date/format.rb: introduced some constants
Index: ruby_1_8/version.h
===================================================================
--- ruby_1_8/version.h	(revision 14954)
+++ ruby_1_8/version.h	(revision 14955)
@@ -1,7 +1,7 @@
 #define RUBY_VERSION "1.8.6"
-#define RUBY_RELEASE_DATE "2008-01-06"
+#define RUBY_RELEASE_DATE "2008-01-08"
 #define RUBY_VERSION_CODE 186
-#define RUBY_RELEASE_CODE 20080106
+#define RUBY_RELEASE_CODE 20080108
 #define RUBY_PATCHLEVEL 5000
 
 #define RUBY_VERSION_MAJOR 1
@@ -9,7 +9,7 @@
 #define RUBY_VERSION_TEENY 6
 #define RUBY_RELEASE_YEAR 2008
 #define RUBY_RELEASE_MONTH 1
-#define RUBY_RELEASE_DAY 6
+#define RUBY_RELEASE_DAY 8
 
 #ifdef RUBY_EXTERN
 RUBY_EXTERN const char ruby_version[];
Index: ruby_1_8/wince/Makefile.sub
===================================================================
--- ruby_1_8/wince/Makefile.sub	(revision 14954)
+++ ruby_1_8/wince/Makefile.sub	(revision 14955)
@@ -1,133 +1,29 @@
 # -*- makefile -*-
 
-SHELL = $(COMSPEC)
-MKFILES = Makefile
-NULL = nul
+CROSS_COMPILING = 1
+LARGEFILE_SUPPORT = 0
 
-!ifndef MFLAGS
-MFLAGS=-l
+!ifndef win_srcdir
+win_srcdir = $(srcdir)/wince
 !endif
 
-#### Start of system configuration section. ####
-
-## variables may be overridden by $(compile_dir)/Makefile
-!ifndef srcdir
-srcdir = ..
-!endif
-!ifndef RUBY_INSTALL_NAME
-RUBY_INSTALL_NAME = ruby
-!endif
-!if !defined(RUBYW_INSTALL_NAME) || "$(RUBYW_INSTALL_NAME)" == "$(RUBY_INSTALL_NAME)"
-RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME:ruby=rubyw)
-!endif
-!if "$(RUBYW_INSTALL_NAME)" == "$(RUBY_INSTALL_NAME)"
-RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME)w
-!endif
-!if !defined(icondirs) && defined(ICONDIRS)
-icondirs=$(ICONDIRS)
-!endif
-!if defined(icondirs)
-icondirs=$(icondirs:\=/)
-iconinc=-I$(icondirs: = -I)
-!endif
-###############
-
-VPATH = $(srcdir);$(srcdir)/missing;$(srcdir)/wince
-.SUFFIXES: .y .def .lib
-
-!if !defined(CC)
-CC = cl
-!endif
-!if !defined(CPP) || "$(CPP)" == "cl"
-CPP = $(CC) -E
-!endif
-!if !defined(YACC)
-YACC = byacc
-!endif
-AR = lib -nologo
-PURIFY =
-AUTOCONF = autoconf
-RM = $(srcdir)\win32\rm.bat
-
-!if !defined(PROCESSOR_ARCHITECTURE)
-PROCESSOR_ARCHITECTURE = x86
-!endif
-MACHINE = $(PROCESSOR_ARCHITECTURE)
-!if "$(PROCESSOR_ARCHITECTURE)" == "x86"
-!if !defined(PROCESSOR_LEVEL)
-PROCESSOR_LEVEL = 5
-!endif
-!if 6 < $(PROCESSOR_LEVEL)
-PROCESSOR_LEVEL = 6
-!endif
-PROCESSOR_FLAG = -G$(PROCESSOR_LEVEL)
-CPU = i$(PROCESSOR_LEVEL)86
-ARCH = i386
-!else
-CPU = $(PROCESSOR_ARCHITECTURE)
-ARCH = $(PROCESSOR_ARCHITECTURE)
-!endif
-!if !defined(DEBUGFLAGS)
-DEBUGFLAGS = -Zi
-!endif
-!if !defined(OPTFLAGS)
-OPTFLAGS = -w -O2b2xg-
-!endif
 !if !defined(OS) || !defined(RT)
 OS = mswince
 RT = $(OS)
 !endif
 
-!ifndef RUBY_SO_NAME
-RUBY_SO_NAME = $(RT)-$(RUBY_INSTALL_NAME)$(MAJOR)$(MINOR)
+!if !defined(WARNFLAGS)
+WARNFLAGS = -w
 !endif
-!ifndef RUBY_PLATFORM
-RUBY_PLATFORM = $(ARCH)-$(OS)
-!endif
-
-!if !defined(prefix)
-prefix = /usr
-!endif
-!if !defined(exec_prefix)
-exec_prefix = $(prefix)
-!endif
-!if !defined(libdir)
-libdir = $(exec_prefix)/lib
-!endif
-!if !defined(datadir)
-datadir = /share
-!endif
-!ifndef EXTOUT
-EXTOUT = .ext
-!endif
-!ifndef RIDATADIR
-RIDATADIR = $(DESTDIR)$(datadir)/ri/$(MAJOR).$(MINOR)/system
-!endif
-!ifndef RDOCTARGET
-RDOCTARGET = install-doc
-!endif
-
-OUTFLAG       = -Fe
-!if !defined(CFLAGS)
-CFLAGS = $(DEBUGFLAGS) $(OPTFLAGS) $(PROCESSOR_FLAG)
-!endif
-!if !defined(CPPFLAGS)
-CPPFLAGS = $(CECPUDEF) -DUNDER_CE -D_WIN32_WCE=$(SUBSYSVERSION:.=) \
+ARCHDEFS  = $(CECPUDEF) -DUNDER_CE -D_WIN32_WCE=$(SUBSYSVERSION:.=) \
            -DFILENAME_MAX=MAX_PATH -DTLS_OUT_OF_INDEXES=0xFFFFFFFF \
            -DBUFSIZ=512 -D_UNICODE -DUNICODE
-!endif
 !if !defined(LDFLAGS)
 LDFLAGS = -link -incremental:yes -pdb:none -machine:$(MACHINE) -subsystem:$(SUBSYSTEM)
 !endif
 !if !defined(XLDFLAGS)
 XLDFLAGS = -stack:$(STACK) -subsystem:$(SUBSYSTEM)
 !endif
-!if !defined(RFLAGS)
-RFLAGS = -r
-!endif
-!if !defined(EXTLIBS)
-EXTLIBS =
-!endif
 LIBS = coredll.lib ceshell.lib winsock.lib  $(EXTLIBS)
 MISSING = acosh.obj crypt.obj dup2.obj erf.obj hypot.obj \
           isinf.obj isnan.obj strftime.obj win32.obj \
@@ -135,375 +31,16 @@
           signal_wce.obj stdio.obj stdlib.obj string_wce.obj \
           time_wce.obj wince.obj winsock2.obj \
           stat.obj timeb.obj utime.obj
+LIBOBJS      = isinf.obj isnan.obj
+COMMON_LIBS  = coredll winsock
+COMMON_MACROS = WIN32_LEAN_AND_MEAN
+COMMON_HEADERS = winsock.h windows.h
 
-ARFLAGS = -machine:$(MACHINE) -out:
-CC = $(CC) -nologo
-LD = $(CC)
-LDSHARED = $(LD) -LD
-XCFLAGS = -DRUBY_EXPORT -I. -I$(srcdir) -I$(srcdir)/missing -I$(srcdir)/wince
-DLDFLAGS = $(LDFLAGS) -dll
-SOLIBS = 
+XCFLAGS = -I$(srcdir)/wince
 
-LIBRUBY_LDSHARED = $(LDSHARED)
-LIBRUBY_DLDFLAGS = $(EXTLDFLAGS) -def:$(RUBYDEF)
-
-EXEEXT = .exe
-PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT)
-RUBYDEF = $(RUBY_SO_NAME).def
-MINIRUBY = $(RUBY) -I$(MAKEDIR) -rfake
-RUNRUBY = $(MINIRUBY) "$(srcdir)/runruby.rb" --extout="$(EXTOUT)" --
-!ifndef RUBY
-RUBY = ruby
+!if !defined(STACK_COMMIT)
+STACK_COMMIT = 0x10000
 !endif
-
-!if !defined(STACK)
-STACK = 0x200000,0x10000
-!endif
-ORGLIBPATH = $(LIB)
-
-#### End of system configuration section. ####
-
-LIBRUBY_A     = $(RUBY_SO_NAME)-static.lib
-LIBRUBY_SO    = $(RUBY_SO_NAME).dll
-LIBRUBY       = $(RUBY_SO_NAME).lib
-LIBRUBYARG    = $(LIBRUBY)
-
-PREP          = fake.rb
-
-!if !defined(EXTSTATIC)
-EXTSTATIC     = 
-!endif
-
-OBJEXT = obj
-
-INSTALLED_LIST= .installed.list
-
 WINMAINOBJ    = wincemain.$(OBJEXT)
 
-all: $(srcdir)/wince/Makefile.sub $(srcdir)/common.mk
-ruby: $(PROGRAM)
-
-CONFIG_H = ./.config.h.time
-
-config: config.status
-
-config.status: $(CONFIG_H)
-
-BANG = !
-
-!if exist(config.h)
-!include config.h
-!endif
-
-$(CONFIG_H): $(MKFILES) $(srcdir)/wince/Makefile.sub
-	@echo Creating config.h
-	@$(srcdir:/=\)\win32\ifchange.bat config.h <<
-#define STDC_HEADERS 1
-#define HAVE_SYS_TYPES_H 1
-#define HAVE_SYS_STAT_H 1
-#define HAVE_STDLIB_H 1
-#define HAVE_STRING_H 1
-#define HAVE_MEMORY_H 1
-#define HAVE_OFF_T 1
-#define SIZEOF_INT 4
-#define SIZEOF_SHORT 2
-#define SIZEOF_LONG 4
-#define SIZEOF_LONG_LONG 0
-#define SIZEOF___INT64 8
-#define SIZEOF_OFF_T 4
-#define SIZEOF_VOIDP 4
-#define SIZEOF_FLOAT 4
-#define SIZEOF_DOUBLE 8
-#define SIZEOF_TIME_T 4
-#define HAVE_PROTOTYPES 1
-#define TOKEN_PASTE(x,y) x##y
-#define HAVE_STDARG_PROTOTYPES 1
-!if $(MSC_VER) > 1100
-#define NORETURN(x) __declspec(noreturn) x
-!endif
-#define RUBY_EXTERN extern __declspec(dllimport)
-#define HAVE_DECL_SYS_NERR 1
-#define HAVE_FCNTL_H 1
-#define HAVE_SYS_UTIME_H 1
-#define HAVE_FLOAT_H 1
-#define rb_uid_t int
-#define rb_gid_t int
-#define rb_pid_t int
-#define HAVE_STRUCT_STAT_ST_RDEV 1
-#define HAVE_ST_RDEV 1
-#define GETGROUPS_T int
-#define RETSIGTYPE void
-#define HAVE_MEMCMP 1
-#define HAVE_MEMMOVE 1
-#define HAVE_MKDIR 1
-#define HAVE_STRCASECMP 1
-#define HAVE_STRNCASECMP 1
-#define HAVE_STRERROR 1
-#define HAVE_STRFTIME 1
-#define HAVE_STRCHR 1
-#define HAVE_STRSTR 1
-#define HAVE_STRTOD 1
-#define HAVE_STRTOL 1
-#define HAVE_STRTOUL 1
-#define HAVE_FLOCK 1
-#define HAVE_VSNPRINTF 1
-#define HAVE_FINITE 1
-#define HAVE_HYPOT 1
-#define HAVE_FMOD 1
-#define HAVE_FREXP 1
-#define HAVE_MODF 1
-#define HAVE_WAITPID 1
-#define HAVE_GETCWD 1
-#define HAVE_CHSIZE 0
-#define HAVE_TIMES 1
-#define HAVE_FCNTL 1
-#define HAVE_TELLDIR 1
-#define HAVE_SEEKDIR 1
-#define HAVE_MKTIME 1
-#define HAVE_COSH 1
-#define HAVE_SINH 1
-#define HAVE_TANH 1
-#define HAVE_TZNAME 1
-#define HAVE_DAYLIGHT 1
-#define SETPGRP_VOID 1
-#define RSHIFT(x,y) ((x)>>(int)y)
-#define inline __inline
-#define NEED_IO_SEEK_BETWEEN_RW 1
-#define DEFAULT_KCODE KCODE_NONE
-#define DLEXT ".so"
-#define RUBY_LIB "/lib/ruby/$(MAJOR).$(MINOR)"
-#define RUBY_SITE_LIB "/lib/ruby/site_ruby"
-#define RUBY_SITE_LIB2 "/lib/ruby/site_ruby/$(MAJOR).$(MINOR)"
-#define RUBY_PLATFORM "$(ARCH)-$(OS)"
-#define RUBY_ARCHLIB "/lib/ruby/$(MAJOR).$(MINOR)/$(ARCH)-$(OS)"
-#define RUBY_SITE_ARCHLIB "/lib/ruby/site_ruby/$(MAJOR).$(MINOR)/$(ARCH)-$(RT)"
-#define LIBRUBY_SO "$(LIBRUBY_SO)"
-#if 0
-$(BANG)if "$(RUBY_SO_NAME)"!="$$(RUBY_SO_NAME)" || "$(ARCH)-$(OS)"!="$$(ARCH)-$$(OS)"
-config.h: nul
-$(BANG)endif
-#endif
-#define GC_MALLOC_LIMIT 4000000
-#define stricmp _stricmp
-#define fopen   wce_fopen
-#define open	   _open
-#define read	   _read
-#define write	   _write
-#define lseek      _lseek
-
-#if _WIN32_WCE < 300
-  #define isascii(c) ( (c>=0x00&&c<=0x7f)?1:0 )
-  #define isspace(c) ( ((c>=0x09&&c<=0x0d)||c==0x20)?1:0 )
-  #define isdigit(c) ( (c>=0x30&&c<=0x39)?1:0 )
-  #define isupper(c) ( (c>='A'&&c<='Z')?1:0 )
-  #define isalpha(c) ( ((c>='A'&&c<='Z')||(c>='a'&&c<='z'))?1:0 )
-  #define isprint(c) ( (c>=0x20&&c<=0x7e)?1:0 )
-  #define isalnum(c) ( (isalpha(c)||isdigit(c))?1:0 )
-  #define iscntrl(c) ( ((c>=0x00&&c<=0x1f)||c==0x7f)?1:0 )
-  #define islower(c) ( (c>='a'&&c<='z')?1:0 )
-  #define ispunct(c) ( !(isalnum(c)||isspace(c))?1:0 )
-  #define isxdigit(c) ( ((c>=0&&c<=9)||(c>='A'&&c<='F')||(c>='a'&&c<='f'))?1:0 )
-#endif
-<<
-	@exit > $(@:/=\)
-
-config.status: $(MKFILES) $(srcdir)/wince/Makefile.sub $(srcdir)/common.mk
-	@echo Creating $@
-	@exit <<$@
-# Generated automatically by Makefile.sub.
-s,@SHELL@,$$(COMSPEC),;t t
-s,@BUILD_FILE_SEPARATOR@,\,;t t
-s,@PATH_SEPARATOR@,;,;t t
-s,@CFLAGS@,$(CFLAGS),;t t
-s,@CPPFLAGS@,$(CPPFLAGS),;t t
-s,@CXXFLAGS@,$(CXXFLAGS),;t t
-s,@FFLAGS@,$(FFLAGS),;t t
-s,@LDFLAGS@,,;t t
-s,@LIBS@,$(LIBS),;t t
-s,@exec_prefix@,$${prefix},;t t
-s,@prefix@,,;t t
-s,@program_transform_name@,s,,,,;t t
-s,@bindir@,$${exec_prefix}/bin,;t t
-s,@sbindir@,$${exec_prefix}/sbin,;t t
-s,@libexecdir@,$${exec_prefix}/libexec,;t t
-s,@datadir@,$${prefix}/share,;t t
-s,@sysconfdir@,$${prefix}/etc,;t t
-s,@sharedstatedir@,/etc,;t t
-s,@localstatedir@,/var,;t t
-s,@libdir@,$${exec_prefix}/lib,;t t
-s,@includedir@,$${prefix}/include,;t t
-s,@oldincludedir@,/usr/include,;t t
-s,@infodir@,$${prefix}/info,;t t
-s,@mandir@,$${prefix}/man,;t t
-s,@build@,$(CPU)-pc-$(OS),;t t
-s,@build_alias@,$(CPU)-$(OS),;t t
-s,@build_cpu@,$(CPU),;t t
-s,@build_vendor@,pc,;t t
-s,@build_os@,$(OS),;t t
-s,@host@,$(CPU)-pc-$(OS),;t t
-s,@host_alias@,$(CPU)-$(OS),;t t
-s,@host_cpu@,$(CPU),;t t
-s,@host_vendor@,pc,;t t
-s,@host_os@,$(OS),;t t
-s,@target@,$(ARCH)-pc-$(OS),;t t
-s,@target_alias@,$(ARCH)-$(OS),;t t
-s,@target_cpu@,$(ARCH),;t t
-s,@target_vendor@,pc,;t t
-s,@target_os@,$(OS),;t t
-s,@CC@,$(CC),;t t
-s,@CPP@,$(CPP),;t t
-s,@YACC@,$(YACC),;t t
-s,@RANLIB@,,;t t
-s,@AR@,$(AR),;t t
-s,@ARFLAGS@,$(ARFLAGS),;t t
-s,@LN_S@,$(LN_S),;t t
-s,@SET_MAKE@,MFLAGS = -$$(MAKEFLAGS),;t t
-s,@CP@,copy > nul,;t t
-s,@LIBOBJS@, acosh.obj crypt.obj erf.obj win32.obj isinf.obj isnan.obj,;t t
-s,@ALLOCA@,$(ALLOCA),;t t
-s,@DEFAULT_KCODE@,$(DEFAULT_KCODE),;t t
-s,@EXEEXT@,.exe,;t t
-s,@OBJEXT@,$(OBJEXT),;t t
-s,@XCFLAGS@,$(XCFLAGS),;t t
-s,@XLDFLAGS@,$(XLDFLAGS),;t t
-s,@DLDFLAGS@,$(DLDFLAGS) $$(LIBPATH) -def:$$(DEFFILE) -implib:$$(*F:.so=)-$$(arch).lib -pdb:$$(*F:.so=)-$$(arch).pdb,;t t
-s,@ARCH_FLAG@,$(ARCH_FLAG),;t t
-s,@STATIC@,$(STATIC),;t t
-s,@CCDLFLAGS@,,;t t
-s,@LDSHARED@,$(LDSHARED),;t t
-s,@DLEXT@,so,;t t
-s,@LIBEXT@,lib,;t t
-s,@STRIP@,$(STRIP),;t t
-s,@EXTSTATIC@,$(EXTSTATIC),;t t
-s,@setup@,Setup,;t t
-s,@MINIRUBY@,$(MINIRUBY),;t t
-s,@PREP@,miniruby$(EXEEXT),;t t
-s,@RUNRUBY@,$(RUNRUBY),;t t
-s,@EXTOUT@,$(EXTOUT),;t t
-s,@ARCHFILE@,,;t t
-s,@RDOCTARGET@,,;t t
-s,@LIBRUBY_LDSHARED@,$(LIBRUBY_LDSHARED),;t t
-s,@LIBRUBY_DLDFLAGS@,$(LIBRUBY_DLDFLAGS),;t t
-s,@RUBY_INSTALL_NAME@,$(RUBY_INSTALL_NAME),;t t
-s,@rubyw_install_name@,$(RUBYW_INSTALL_NAME),;t t
-s,@RUBYW_INSTALL_NAME@,$(RUBYW_INSTALL_NAME),;t t
-s,@RUBY_SO_NAME@,$(RUBY_SO_NAME),;t t
-s,@LIBRUBY_A@,$$(RUBY_SO_NAME)-static.lib,;t t
-s,@LIBRUBY_SO@,$$(RUBY_SO_NAME).dll,;t t
-s,@LIBRUBY_ALIASES@,$(LIBRUBY_ALIASES),;t t
-s,@LIBRUBY@,$$(RUBY_SO_NAME).lib,;t t
-s,@LIBRUBYARG@,$$(LIBRUBYARG_SHARED),;t t
-s,@LIBRUBYARG_STATIC@,$$(LIBRUBY_A),;t t
-s,@LIBRUBYARG_SHARED@,$$(LIBRUBY),;t t
-s,@SOLIBS@,$(SOLIBS),;t t
-s,@DLDLIBS@,$(DLDLIBS),;t t
-s,@ENABLE_SHARED@,yes,;t t
-s,@OUTFLAG@,$(OUTFLAG),;t t
-s,@CPPOUTFILE@,-P,;t t
-s,@LIBPATHFLAG@, -libpath:"%s",;t t
-s,@RPATHFLAG@,,;t t
-s,@LIBARG@,%s.lib,;t t
-s,@LINK_SO@,$$(LDSHARED) -Fe$$(@) $$(OBJS) $$(LIBS) $$(LOCAL_LIBS) $$(DLDFLAGS),;t t
-s,@COMPILE_C@,$$(CC) $$(INCFLAGS) $$(CFLAGS) $$(CPPFLAGS) -c -Tc$$(<:\=/),;t t
-s,@COMPILE_CXX@,$$(CXX) $$(INCFLAGS) $$(CXXFLAGS) $$(CPPFLAGS) -c -Tp$$(<:\=/),;t t
-s,@COMPILE_RULES@,{$$(srcdir)}.%s{}.%s: {$$(topdir)}.%s{}.%s: {$$(hdrdir)}.%s{}.%s: .%s.%s:,;t t
-s,@RULE_SUBST@,{.;$$(srcdir);$$(topdir);$$(hdrdir)}%s,;t t
-s,@TRY_LINK@,$$(CC) -Feconftest $$(INCFLAGS) -I$$(hdrdir) $$(CPPFLAGS) $$(CFLAGS) $$(src) $$(LOCAL_LIBS) $$(LIBS) -link $$(LDFLAGS) $$(LIBPATH) $$(XLDFLAGS),;t t
-s,@COMMON_LIBS@,coredll winsock,;t t
-s,@COMMON_MACROS@,WIN32_LEAN_AND_MEAN,;t t
-s,@COMMON_HEADERS@,winsock.h windows.h,;t t
-s,@EXPORT_PREFIX@, ,;t t
-s,@arch@,$(ARCH)-$(OS),;t t
-s,@sitearch@,$(ARCH)-$(RT),;t t
-s,@sitedir@,$${prefix}/lib/ruby/site_ruby,;t t
-s,@configure_args@,--with-make-prog=nmake --enable-shared $(configure_args),;t t
-s,@configure_input@,$$configure_input,;t t
-s,@srcdir@,$(srcdir),;t t
-s,@top_srcdir@,$(srcdir),;t t
-<<KEEP
-
-$(PROGRAM):	$(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_SO) $*.res
-		$(PURIFY) $(CC) $(MAINOBJ) $(WINMAINOBJ) $*.res \
-			-Fe$@ $(LIBRUBYARG) $(LDFLAGS) $(XLDFLAGS)
-
-$(LIBRUBY_A):	$(OBJS) $(DMYEXT)
-		$(AR) $(ARFLAGS)$@ $(OBJS) $(DMYEXT)
-
-$(LIBRUBY):	$(RUBYDEF)
-		$(AR) $(ARFLAGS)$@ -def:$(RUBYDEF)
-
-$(LIBRUBY_SO):	$(LIBRUBY_A) $(DLDOBJS) $(RUBYDEF) $(RUBY_SO_NAME).res
-		@echo. $(DLDOBJS)
-		@-$(PRE_LIBRUBY_UPDATE)
-		$(LDSHARED) $(MAINOBJ) $(DLDOBJS) $(LIBRUBY_A) \
-			$(RUBY_SO_NAME).res $(LIBS) -Fe$@ $(LDFLAGS) \
-			$(LIBRUBY_DLDFLAGS)
-
-$(RUBYDEF):	$(LIBRUBY_A) $(PREP)
-		$(MINIRUBY) $(srcdir)/win32/mkexports.rb \
-		  -output=$@ -arch=$(ARCH) $(LIBRUBY_A)
-
-{$(srcdir)/wince}.def.lib:
-		$(AR) $(ARFLAGS)$@ -def:$<
-
-clean-local::
-		@$(RM) ext\extinit.c ext\extinit.$(OBJEXT) ext\vc*.pdb
-		@$(RM) $(RUBY_INSTALL_NAME).res $(RUBYW_INSTALL_NAME).res $(RUBY_SO_NAME).res
-
-distclean-local::
-		@$(RM) ext\config.cache $(RBCONFIG:/=\)
-		@$(RM) *.map *.pdb *.ilk *.exp $(RUBYDEF)
-		@$(RM) $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(RUBY_SO_NAME).rc
-
-$(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(RUBY_SO_NAME).rc: $(RBCONFIG)
-		@$(MINIRUBY) $(srcdir)/win32/resource.rb \
-			-ruby_name=$(RUBY_INSTALL_NAME) \
-			-rubyw_name=$(RUBYW_INSTALL_NAME) \
-			-so_name=$(RUBY_SO_NAME) \
-			-wce_ver=$(SUBSYSVERSION) \
-			. $(icondirs) $(srcdir)/wince
-
-fake.rb: $(MKFILES)
-	@echo Creating <<$@
-class Object
-  CROSS_COMPILING = RUBY_PLATFORM
-  remove_const :RUBY_PLATFORM
-  remove_const :RUBY_VERSION
-  RUBY_PLATFORM = "$(ARCH)"
-  RUBY_VERSION = "$(MAJOR).$(MINOR).$(TEENY)"
-end
-class File
-  remove_const :ALT_SEPARATOR
-  ALT_SEPARATOR = "\\"
-end
-<<KEEP
-
-{$(srcdir)/missing}.c.obj:
-	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -c -Tc$(<:\=/)
-{$(srcdir)/win32}.c.obj:
-	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -c -Tc$(<:\=/)
-{$(srcdir)/wince}.c.obj:
-	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -c -Tc$(<:\=/)
-{$(srcdir)/wince/sys}.c.obj:
-	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -c -Tc$(<:\=/)
-{$(srcdir)}.c.obj:
-	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -c -Tc$(<:\=/)
-.c.obj:
-	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -c -Tc$(<:\=/)
-
-.rc.res:
-	$(RC) -I. -I$(<D) $(iconinc) -I$(srcdir)/win32 $(RFLAGS) -fo$@ $(<:\=/)
-
-{$(srcdir)}.y.c:
-	$(YACC) $(YFLAGS) $(<:\=/)
-	sed -e "s!^ *extern char \*getenv();!/* & */!;s/^\(#.*\)y\.tab/\1parse/" y.tab.c > $@
-	@del y.tab.c
-
-!include $(srcdir)/common.mk
-
-$(OBJS): {$(srcdir)}win32/win32.h
-
-dir.$(OBJEXT): {$(srcdir)}win32/dir.h
-
-ext/extinit.obj: ext/extinit.c $(SETUP)
-	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -Fo$@ -c ext/extinit.c
+!include $(srcdir)/win32/Makefile.sub
Index: ruby_1_8/win32/Makefile.sub
===================================================================
--- ruby_1_8/win32/Makefile.sub	(revision 14954)
+++ ruby_1_8/win32/Makefile.sub	(revision 14955)
@@ -8,6 +8,16 @@
 MFLAGS=-l
 !endif
 
+!ifndef CROSS_COMPILING
+CROSS_COMPILING = 0
+!endif
+!ifndef LARGEFILE_SUPPORT
+LARGEFILE_SUPPORT = 1
+!endif
+!ifndef win_srcdir
+win_srcdir = $(srcdir)/win32
+!endif
+
 #### Start of system configuration section. ####
 
 ## variables may be overridden by $(compile_dir)/Makefile
@@ -86,9 +96,14 @@
 !error RT not defined.  Retry from configure pass.
 !endif
 
+arch = $(ARCH)-$(OS)
+
 !ifndef RUBY_SO_NAME
 RUBY_SO_NAME = $(RT)-$(RUBY_INSTALL_NAME)$(MAJOR)$(MINOR)
 !endif
+!ifndef RUBY_PLATFORM
+RUBY_PLATFORM = $(arch)
+!endif
 
 !if !defined(prefix)
 prefix = /usr
@@ -119,8 +134,11 @@
 !endif
 
 OUTFLAG       = -Fe
+!if !defined(RUNTIMEFLAG)
+RUNTIMEFLAG   = -MD
+!endif
 !if !defined(CFLAGS)
-CFLAGS = -MD $(DEBUGFLAGS) $(OPTFLAGS) $(PROCESSOR_FLAG)
+CFLAGS = $(RUNTIMEFLAG) $(DEBUGFLAGS) $(WARNFLAGS) $(OPTFLAGS) $(PROCESSOR_FLAG)
 !endif
 !if !defined(LDFLAGS)
 LDFLAGS = -link -incremental:no -debug -opt:ref -opt:icf
@@ -134,6 +152,7 @@
 !if !defined(EXTLIBS)
 EXTLIBS =
 !endif
+!if !defined(LIBS)
 LIBS = oldnames.lib user32.lib advapi32.lib shell32.lib
 !if !defined(USE_WINSOCK2)
 LIBS = $(LIBS) wsock32.lib
@@ -141,20 +160,24 @@
 LIBS = $(LIBS) ws2_32.lib
 !endif
 LIBS = $(LIBS) $(EXTLIBS)
+!endif
+!if !defined(MISSING)
 MISSING = acosh.obj crypt.obj erf.obj win32.obj
+!endif
 
 ARFLAGS = -machine:$(MACHINE) -out:
 CC = $(CC) -nologo
 LD = $(CC)
 LDSHARED = $(LD) -LD
-XCFLAGS = -DRUBY_EXPORT -I. -I$(srcdir) -I$(srcdir)/missing
+XCFLAGS = -DRUBY_EXPORT -I. -I$(srcdir) -I$(srcdir)/missing $(XCFLAGS)
 !if $(MSC_VER) >= 1400
 # Prevents VC++ 2005 (cl ver 14) warnings
-CPPFLAGS = $(CPPFLAGS) -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
+DEFS = -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
 MANIFESTTOOL = mt -nologo
 LDSHARED_1 = $(MANIFESTTOOL) -manifest $(@).manifest -outputresource:$(@);2
 LDSHARED_2 = @$(RM) $(@:/=\).manifest
 !endif
+CPPFLAGS = $(DEFS) $(ARCHDEFS) $(CPPFLAGS)
 
 DLDFLAGS = $(LDFLAGS) -dll
 SOLIBS = 
@@ -163,15 +186,29 @@
 LIBRUBY_DLDFLAGS = $(EXTLDFLAGS) -def:$(RUBYDEF)
 
 EXEEXT = .exe
+!if !defined(PROGRAM)
 PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT)
+!endif
+!if !defined(WPROGRAM) && defined(RUBYW_INSTALL_NAME)
 WPROGRAM=$(RUBYW_INSTALL_NAME)$(EXEEXT)
+!endif
 RUBYDEF = $(RUBY_SO_NAME).def
-MINIRUBY = .\miniruby$(EXEEXT) -I$(srcdir)/lib $(MINIRUBYOPT)
-RUNRUBY = .\ruby$(EXEEXT) "$(srcdir)/runruby.rb" --extout="$(EXTOUT)" --
+!if $(CROSS_COMPILING)
+MINIRUBY = $(RUBY) -I$(MAKEDIR) -rfake
+RUNRUBY = $(MINIRUBY)
+!else
+MINIRUBY = .\miniruby$(EXEEXT) -I$(srcdir)/lib
+RUNRUBY = .\ruby$(EXEEXT)
+!endif
+MINIRUBY = $(MINIRUBY) $(MINIRUBYOPT)
+RUNRUBY = $(RUNRUBY) "$(srcdir)/runruby.rb" --extout="$(EXTOUT)" --
 
 !if !defined(STACK)
 STACK = 0x2000000
+!if defined(STACK_COMMIT)
+STACK = $(STACK),$(STACK_COMMIT)
 !endif
+!endif
 ORGLIBPATH = $(LIB)
 
 #### End of system configuration section. ####
@@ -181,37 +218,78 @@
 LIBRUBY       = $(RUBY_SO_NAME).lib
 LIBRUBYARG    = $(LIBRUBY)
 
+!if $(CROSS_COMPILING)
+PREP          = fake.rb
+!else
 PREP          = miniruby$(EXEEXT)
+!endif
 
 !if !defined(EXTSTATIC)
 EXTSTATIC     = 
 !endif
 
 OBJEXT = obj
+ASMEXT = asm
 
 INSTALLED_LIST= .installed.list
 
+!if [find "revision.h" $(srcdir:/=\)\version.h > nul 2> nul] == 0
+REVISION_H    = revision.h
+REVISION_UP   = revision-up
+!else
+REVISION_H    = version.h
+REVISION_UP   =
+!endif
+
+!if !defined(WINMAINOBJ)
 WINMAINOBJ    = winmain.$(OBJEXT)
+!endif
 MINIOBJS      = dmydln.$(OBJEXT)
+LIBOBJS       = acosh.obj crypt.obj erf.obj strlcpy.obj strlcat.obj win32.obj $(LIBOBJS)
 
-all: $(srcdir)/win32/Makefile.sub $(srcdir)/common.mk
+!ifndef COMMON_LIBS
+COMMON_LIBS  = m
+!endif
+!ifndef COMMON_MACROS
+COMMON_MACROS = WIN32_LEAN_AND_MEAN WIN32
+!endif
+!ifndef COMMON_HEADERS
+!if !defined(USE_WINSOCK2)
+COMMON_HEADERS = winsock.h
+!else
+COMMON_HEADERS = winsock2.h
+!endif
+COMMON_HEADERS = $(COMMON_HEADERS) windows.h
+!endif
 
+all: $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub $(srcdir)/common.mk
+
 ruby: $(PROGRAM)
 rubyw: $(WPROGRAM)
 
 !include $(srcdir)/common.mk
 
+$(MKFILES): $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub $(win_srcdir)/configure.bat $(win_srcdir)/setup.mak
+	$(COMSPEC) /C $(win_srcdir:/=\)\configure.bat $(configure_args)
+	@echo $(MKFILES) should be updated, re-run $(MAKE).
+
 CONFIG_H = ./.config.h.time
 
 config: config.status
 
 config.status: $(CONFIG_H)
 
-$(CONFIG_H): $(MKFILES) $(srcdir)/win32/Makefile.sub
+BANG = !
+
+!if exist(config.h)
+!include config.h
+!endif
+
+$(CONFIG_H): $(MKFILES) $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub
 	@echo Creating config.h
 	@$(COMSPEC) /C $(srcdir:/=\)\win32\ifchange.bat config.h <<
 #if _MSC_VER != $(MSC_VER)
-#error MSC version unmatch
+#error MSC version unmatch: _MSC_VER: $(MSC_VER) is expected.
 #endif
 !if defined(USE_WINSOCK2)
 #define USE_WINSOCK2 1
@@ -252,7 +330,9 @@
 !endif
 #define RUBY_EXTERN extern __declspec(dllimport)
 #define HAVE_DECL_SYS_NERR 1
+!if !defined(WIN32_WCE)
 #define HAVE_LIMITS_H 1
+!endif
 #define HAVE_FCNTL_H 1
 #define HAVE_SYS_UTIME_H 1
 #define HAVE_FLOAT_H 1
@@ -263,7 +343,9 @@
 #define HAVE_ST_RDEV 1
 #define GETGROUPS_T int
 #define RETSIGTYPE void
+!if !defined(WIN32_WCE)
 #define HAVE_ALLOCA 1
+!endif
 #define HAVE_DUP2 1
 #define HAVE_MEMCMP 1
 #define HAVE_MEMMOVE 1
@@ -292,7 +374,9 @@
 #define HAVE_TIMES 1
 #define HAVE_FCNTL 1
 #define HAVE_LINK 1
+!if !defined(WIN32_WCE)
 #define HAVE__SETJMP 1
+!endif
 #define HAVE_TELLDIR 1
 #define HAVE_SEEKDIR 1
 #define HAVE_MKTIME 1
@@ -307,20 +391,51 @@
 #define FILE_READPTR _ptr
 #define inline __inline
 #define NEED_IO_SEEK_BETWEEN_RW 1
+!if "$(PROCESSOR_ARCHITECTURE)" == "x86" || "$(ARCH)" == "x64" || "$(ARCH)" == "ia64"
 #define STACK_GROW_DIRECTION -1
+!endif
 #define DEFAULT_KCODE KCODE_NONE
 #define DLEXT ".so"
 #define DLEXT2 ".dll"
 #define RUBY_LIB "/lib/ruby/$(MAJOR).$(MINOR)"
 #define RUBY_SITE_LIB "/lib/ruby/site_ruby"
 #define RUBY_SITE_LIB2 "/lib/ruby/site_ruby/$(MAJOR).$(MINOR)"
-#define RUBY_PLATFORM "$(ARCH)-$(OS)"
+#define RUBY_PLATFORM "$(arch)"
 #define RUBY_ARCHLIB "/lib/ruby/$(MAJOR).$(MINOR)/$(ARCH)-$(OS)"
 #define RUBY_SITE_ARCHLIB "/lib/ruby/site_ruby/$(MAJOR).$(MINOR)/$(ARCH)-$(RT)"
+#define LIBRUBY_SO "$(LIBRUBY_SO)"
+#if 0
+$(BANG)if "$(RUBY_SO_NAME)"!="$$(RUBY_SO_NAME)" || "$(ARCH)-$(OS)"!="$$(ARCH)-$$(OS)"
+config.h: nul
+$(BANG)endif
+#endif
+!if defined(WIN32_WCE)
+#define GC_MALLOC_LIMIT 4000000
+#define stricmp _stricmp
+#define fopen   wce_fopen
+#define open	   _open
+#define read	   _read
+#define write	   _write
+#define lseek      _lseek
+
+#if _WIN32_WCE < 300
+  #define isascii(c) ( (c>=0x00&&c<=0x7f)?1:0 )
+  #define isspace(c) ( ((c>=0x09&&c<=0x0d)||c==0x20)?1:0 )
+  #define isdigit(c) ( (c>=0x30&&c<=0x39)?1:0 )
+  #define isupper(c) ( (c>='A'&&c<='Z')?1:0 )
+  #define isalpha(c) ( ((c>='A'&&c<='Z')||(c>='a'&&c<='z'))?1:0 )
+  #define isprint(c) ( (c>=0x20&&c<=0x7e)?1:0 )
+  #define isalnum(c) ( (isalpha(c)||isdigit(c))?1:0 )
+  #define iscntrl(c) ( ((c>=0x00&&c<=0x1f)||c==0x7f)?1:0 )
+  #define islower(c) ( (c>='a'&&c<='z')?1:0 )
+  #define ispunct(c) ( !(isalnum(c)||isspace(c))?1:0 )
+  #define isxdigit(c) ( ((c>=0&&c<=9)||(c>='A'&&c<='F')||(c>='a'&&c<='f'))?1:0 )
+#endif
+!endif
 <<
 	@exit > $(@:/=\)
 
-config.status: $(MKFILES) $(srcdir)/win32/Makefile.sub $(srcdir)/common.mk
+config.status: $(MKFILES) $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub $(srcdir)/common.mk
 	@echo Creating $@
 	@exit <<$@
 # Generated automatically by Makefile.sub.
@@ -372,14 +487,14 @@
 s,@LN_S@,$(LN_S),;t t
 s,@SET_MAKE@,MFLAGS = -$$(MAKEFLAGS),;t t
 s,@CP@,copy > nul,;t t
-s,@LIBOBJS@, acosh.obj crypt.obj erf.obj win32.obj,;t t
+s,@LIBOBJS@,$(LIBOBJS),;t t
 s,@ALLOCA@,$(ALLOCA),;t t
 s,@DEFAULT_KCODE@,$(DEFAULT_KCODE),;t t
 s,@EXEEXT@,.exe,;t t
 s,@OBJEXT@,$(OBJEXT),;t t
 s,@XCFLAGS@,$(XCFLAGS),;t t
 s,@XLDFLAGS@,$(XLDFLAGS),;t t
-s,@DLDFLAGS@,$(DLDFLAGS) $$(LIBPATH) -def:$$(DEFFILE) -implib:$$(*F:.so=)-$$(arch).lib -pdb:$$(*F:.so=)-$$(arch).pdb,;t t
+s,@DLDFLAGS@,$(DLDFLAGS) $$(LIBPATH),;t t
 s,@ARCH_FLAG@,$(ARCH_FLAG),;t t
 s,@STATIC@,$(STATIC),;t t
 s,@CCDLFLAGS@,,;t t
@@ -417,23 +532,19 @@
 s,@LIBPATHFLAG@, -libpath:"%s",;t t
 s,@RPATHFLAG@,,;t t
 s,@LIBARG@,%s.lib,;t t
-s,@LINK_SO@,$$(LDSHARED) -Fe$$(@) $$(OBJS) $$(LIBS) $$(LOCAL_LIBS) $$(DLDFLAGS),;t t
+s,@LINK_SO@,$$(LDSHARED) -Fe$$(@) $$(OBJS) $$(LIBS) $$(LOCAL_LIBS) $$(DLDFLAGS) -implib:$$(*F:.so=)-$$(arch).lib -pdb:$$(*F:.so=)-$$(arch).pdb -def:$$(DEFFILE),;t t
 !if $(MSC_VER) >= 1400
 s,@LINK_SO@,$(MANIFESTTOOL) -manifest $$(@).manifest -outputresource:$$(@);2,;t t
 s,@LINK_SO@,@$$(RM) $$(@:/=\).manifest,;t t
 !endif
 s,@COMPILE_C@,$$(CC) $$(INCFLAGS) $$(CFLAGS) $$(CPPFLAGS) -c -Tc$$(<:\=/),;t t
 s,@COMPILE_CXX@,$$(CXX) $$(INCFLAGS) $$(CXXFLAGS) $$(CPPFLAGS) -c -Tp$$(<:\=/),;t t
-s,@COMPILE_RULES@,{$$(srcdir)}.%s{}.%s: {$$(topdir)}.%s{}.%s: {$$(hdrdir)}.%s{}.%s: .%s.%s:,;t t
-s,@RULE_SUBST@,{.;$$(srcdir);$$(topdir);$$(hdrdir)}%s,;t t
+s,@COMPILE_RULES@,{$$(hdrdir)}.%s{}.%s: {$$(topdir)}.%s{}.%s: {$$(srcdir)}.%s{}.%s: .%s.%s:,;t t
+s,@RULE_SUBST@,{.;$$(VPATH)}%s,;t t
 s,@TRY_LINK@,$$(CC) -Feconftest $$(INCFLAGS) -I$$(hdrdir) $$(CPPFLAGS) $$(CFLAGS) $$(src) $$(LOCAL_LIBS) $$(LIBS) -link $$(LDFLAGS) $$(LIBPATH) $$(XLDFLAGS),;t t
-s,@COMMON_LIBS@,m,;t t
-s,@COMMON_MACROS@,WIN32_LEAN_AND_MEAN WIN32,;t t
-!if defined(USE_WINSOCK2)
-s,@COMMON_HEADERS@,winsock2.h windows.h,;t t
-!else
-s,@COMMON_HEADERS@,windows.h winsock.h,;t t
-!endif
+s,@COMMON_LIBS@,$(COMMON_LIBS),;t t
+s,@COMMON_MACROS@,$(COMMON_MACROS),;t t
+s,@COMMON_HEADERS@,$(COMMON_HEADERS),;t t
 s,@DISTCLEANFILES@,vc*.pdb,;t t
 s,@EXPORT_PREFIX@, ,;t t
 s,@arch@,$(ARCH)-$(OS),;t t
@@ -447,22 +558,27 @@
 
 miniruby$(EXEEXT):
 		@echo. $(LIBS)
+		@$(RM) $@
 		$(PURIFY) $(CC) $(MAINOBJ) $(MINIOBJS) $(LIBRUBY_A) $(LIBS) -Fe$@ $(LDFLAGS)
 		$(LDSHARED_1)
 		$(LDSHARED_2)
 
+!if "$(PROGRAM)" != ""
 $(PROGRAM):	$(RUBY_INSTALL_NAME).res
 		$(PURIFY) $(CC) $(MAINOBJ) $(RUBY_INSTALL_NAME).res \
 			$(OUTFLAG)$@ $(LIBRUBYARG) $(LDFLAGS) $(XLDFLAGS)
 		$(LDSHARED_1)
 		$(LDSHARED_2)
+!endif
 
+!if "$(WPROGRAM)" != ""
 $(WPROGRAM):	$(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_SO) $(RUBYW_INSTALL_NAME).res
 		$(PURIFY) $(CC) $(MAINOBJ) $(WINMAINOBJ) \
 			$(RUBYW_INSTALL_NAME).res $(OUTFLAG)$@ $(LIBRUBYARG) \
 			$(LDFLAGS) $(XLDFLAGS) -subsystem:Windows
 		$(LDSHARED_1)
 		$(LDSHARED_2)
+!endif
 
 $(LIBRUBY_A):	$(OBJS) $(DMYEXT)
 		$(AR) $(ARFLAGS)$@ $(OBJS) $(DMYEXT)
@@ -482,7 +598,7 @@
 $(RUBYDEF):	$(LIBRUBY_A) $(PREP)
 		$(MINIRUBY) $(srcdir)/win32/mkexports.rb -output=$@ $(LIBRUBY_A)
 
-{$(srcdir)/win32}.def.lib:
+{$(win_srcdir)}.def.lib:
 		$(AR) $(ARFLAGS)$@ -def:$<
 
 clean-local::
@@ -490,7 +606,7 @@
 		@$(RM) $(RUBY_INSTALL_NAME).res $(RUBYW_INSTALL_NAME).res $(RUBY_SO_NAME).res
 
 distclean-local::
-		@$(RM) ext\config.cache $(RBCONFIG:/=\)
+		@$(RM) ext\config.cache $(RBCONFIG:/=\) $(CONFIG_H:/=\)
 		@$(RM) *.map *.pdb *.ilk *.exp $(RUBYDEF)
 		@$(RM) $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(RUBY_SO_NAME).rc
 
@@ -499,12 +615,34 @@
 			-ruby_name=$(RUBY_INSTALL_NAME) \
 			-rubyw_name=$(RUBYW_INSTALL_NAME) \
 			-so_name=$(RUBY_SO_NAME) \
-			. $(icondirs) $(srcdir)/win32
+!if defined(WIN32_WCE)
+			-wce_ver=$(SUBSYSVERSION) \
+!endif
+			. $(icondirs) $(win_srcdir)
 
+fake.rb: $(MKFILES)
+	@echo Creating <<$@
+class Object
+  CROSS_COMPILING = RUBY_PLATFORM
+  remove_const :RUBY_PLATFORM
+  remove_const :RUBY_VERSION
+  RUBY_PLATFORM = "$(ARCH)"
+  RUBY_VERSION = "$(MAJOR).$(MINOR).$(TEENY)"
+end
+class File
+  remove_const :ALT_SEPARATOR
+  ALT_SEPARATOR = "\\"
+end
+<<KEEP
+
 {$(srcdir)/missing}.c.obj:
 	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -c -Tc$(<:\=/)
 {$(srcdir)/win32}.c.obj:
 	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -c -Tc$(<:\=/)
+{$(win_srcdir)}.c.obj:
+	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -c -Tc$(<:\=/)
+{$(win_srcdir)/sys}.c.obj:
+	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -c -Tc$(<:\=/)
 {$(srcdir)}.c.obj:
 	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -c -Tc$(<:\=/)
 .c.obj:
@@ -520,7 +658,7 @@
 
 $(OBJS): {$(srcdir)}win32/win32.h
 
-dir.$(OBJEXT): {$(srcdir)}win32/dir.h
+dir.$(OBJEXT) win32.$(OBJEXT): {$(srcdir)}win32/dir.h
 
 ext/extinit.obj: ext/extinit.c $(SETUP)
 	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -Fo$@ -c ext/extinit.c

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

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