# -*- makefile -*-

SHELL = $(COMSPEC)

#### Start of system configuration section. ####
OS = bccwin32
RT = $(OS)

## variables may be overridden by $(compile_dir)/Makefile
!ifndef srcdir
srcdir = ..
!endif
!ifndef RUBY_INSTALL_NAME
RUBY_INSTALL_NAME = ruby
!endif
!ifndef RUBYW_INSTALL_NAME
RUBYW_INSTALL_NAME = $(RUBY_INSTALL_NAME:ruby=rubyw)
!elif "$(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
!ifndef RUBY_SO_NAME
RUBY_SO_NAME = $(RT)-$(RUBY_INSTALL_NAME)$(MAJOR)$(MINOR)
!endif
!ifndef icondirs
!ifdef ICONDIRS
icondirs=$(ICONDIRS)
!endif
!endif
!ifdef icondirs
icondirs=$(icondirs:\=/)
iconinc=-I$(icondirs: = -I)
!endif
###############

VPATH = $(srcdir):$(srcdir)/missing
.SUFFIXES: .y

!ifndef CC
CC = bcc32
!endif
!ifndef CPP
CPP = cpp32
!endif
!ifndef RC
RC = brcc32
!endif
!ifndef YACC
YACC = byacc
!endif
!ifndef AR
AR = tlib
!endif

PURIFY =
AUTOCONF = autoconf

!if !defined(PROCESSOR_ARCHITECTURE)
PROCESSOR_ARCHITECTURE = x86
!endif
MACHINE = $(PROCESSOR_ARCHITECTURE)
!if "$(PROCESSOR_ARCHITECTURE)" == "x86"
!ifndef PROCESSOR_LEVEL
PROCESSOR_LEVEL = 5
!endif
!if 6 < $(PROCESSOR_LEVEL)
PROCESSOR_LEVEL = 6
!endif
PROCESSOR_FLAG = -$(PROCESSOR_LEVEL)
CPU = i$(PROCESSOR_LEVEL)86
ARCH = i386
!else
CPU = $(PROCESSOR_ARCHITECTURE)
ARCH = $(PROCESSOR_ARCHITECTURE)
!endif
!ifndef DEBUGFLAGS
DEBUGFLAGS = 
!endif
!ifndef OPTFLAGS
OPTFLAGS = -O
!endif

!ifndef prefix
prefix = /usr
!endif
!ifndef exec_prefix
exec_prefix = $(prefix)
!endif
!ifndef libdir
libdir = $(exec_prefix)/lib
!endif
!ifndef DESTDIR
DESTDIR = $(prefix)
!endif
!ifndef CFLAGS
CFLAGS = -q -tWR -tWC $(DEBUGFLAGS) $(OPTFLAGS) $(PROCESSOR_FLAG) -w- -wsus -wcpt -wdup -wext -wrng -wrpt -wzdi
!endif
!ifndef CPPFLAGS
CPPFLAGS = -I. -I$(srcdir) -I$(srcdir)missing
!endif
!ifndef LDFLAGS
LDFLAGS = -S:$(STACK)
!endif
!ifndef RFLAGS
RFLAGS = $(iconinc)
!endif
!ifndef EXTLIBS
EXTLIBS =
!endif
LIBS = cw32i.lib import32.lib ws2_32.lib $(EXTLIBS)
MISSING = acosh.obj crypt.obj erf.obj win32.obj

!ifndef STACK
STACK = 0x2000000
!endif

XCFLAGS = -DRUBY_EXPORT

ARFLAGS = /a
LD = ilink32 -q -Gn
LDSHARED  = $(LD)
XLDFLAGS  = -Tpe c0x32.obj
WLDFLAGS  = -aa -Tpe c0w32.obj
DLDFLAGS  = -Tpd c0d32.obj
LIBRUBY_LDSHARED = $(LDSHARED)
LIBRUBY_DLDFLAGS = -Gi $(DLDFLAGS) $(EXTLDFLAGS)
LDOBJECTS = $(MAINOBJ)

SOLIBS = 

EXEEXT = .exe
PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT)
WPROGRAM=$(RUBYW_INSTALL_NAME)$(EXEEXT)
RUBYDEF = $(RUBY_SO_NAME).def
MINIRUBY = .\miniruby$(EXEEXT)

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)

!ifndef EXTOBJS
EXTOBJS       = dmyext.obj
!endif

MAINOBJ       = main.obj
WINMAINOBJ    = winmain.obj

OBJS          = array.obj \
		bignum.obj \
		class.obj \
		compar.obj \
		dir.obj \
		dln.obj \
		enum.obj \
		error.obj \
		eval.obj \
		file.obj \
		gc.obj \
		hash.obj \
		inits.obj \
		io.obj \
		marshal.obj \
		math.obj \
		numeric.obj \
		object.obj \
		pack.obj \
		parse.obj \
		prec.obj \
		process.obj \
		random.obj \
		range.obj \
		re.obj \
		regex.obj \
		ruby.obj \
		signal.obj \
		sprintf.obj \
		st.obj \
		string.obj \
		struct.obj \
		time.obj \
		util.obj \
		variable.obj \
		version.obj \
		$(MISSING)

SCRIPT_ARGS   =	"--dest-dir=$(DESTDIR)" \
		"--make=$(MAKE)" \
		"--mflags=$(MFLAGS)" \
		"--make-flags=$(MAKEFLAGS)"

all:		miniruby$(EXEEXT) rbconfig.rb \
		$(LIBRUBY) $(MISCLIBS)
		.\miniruby$(EXEEXT) $(srcdir)ext/extmk.rb --extstatic=$(EXTSTATIC) $(SCRIPT_ARGS)

ruby: $(PROGRAM)
rubyw: $(WPROGRAM)
lib: $(LIBRUBY)
dll: $(LIBRUBY_SO)

config: config.h config.status

config.h:
	@echo Creating $(@:.\=)
	@type > $@ &&|
\#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
\#define NORETURN(x) x
\#define HAVE_DECL_SYS_NERR 1
\#define HAVE_LIMITS_H 1
\#define HAVE_FCNTL_H 1
\#define HAVE_UTIME_H 1
\#define HAVE_FLOAT_H 1
\#define HAVE_STRUCT_STAT_ST_RDEV 1
\#define HAVE_ST_RDEV 1
\#define GETGROUPS_T int
\#define RETSIGTYPE void
\#define HAVE_ALLOCA 1
\#define HAVE_DUP2 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_ISNAN 1
\#define HAVE_FINITE 1
\#define HAVE_FMOD 1
\#define HAVE_WAITPID 1
\#define HAVE_FSYNC 1
\#define HAVE_GETCWD 1
\#define HAVE_CHSIZE 1
\#define HAVE_TIMES 1
\#define HAVE_LINK 1
\#define HAVE_TELLDIR 1
\#define HAVE_SEEKDIR 1
\#define HAVE_COSH 1
\#define HAVE_SINH 1
\#define HAVE_TANH 1
\#define RSHIFT(x,y) ((x)>>(int)y)
\#define FILE_COUNT level
\#define FILE_READPTR curp
\#define inline __inline
\#define NEED_IO_SEEK_BETWEEN_RW 1
\#define STACK_GROW_DIRECTION -1
\#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_ARCHLIB "/lib/ruby/$(MAJOR).$(MINOR)/$(ARCH)-$(OS)"
\#define RUBY_SITE_ARCHLIB "/lib/ruby/site_ruby/$(MAJOR).$(MINOR)/$(ARCH)-$(OS)"
|

config.status: Makefile $(srcdir)bcc32/Makefile.sub
	@echo Creating $@
	@type > $@ &&|
# Generated automatically by Makefile.sub.
s,@SHELL@,$$(COMSPEC),;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@,cpp32,;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@,$(SET_MAKE),;t t
s,@LIBOBJS@, acosh.obj crypt.obj erf.obj win32.obj,;t t
s,@ALLOCA@,$(ALLOCA),;t t
s,@DEFAULT_KCODE@,$(DEFAULT_KCODE),;t t
s,@EXEEXT@,.exe,;t t
s,@OBJEXT@,obj,;t t
s,@XCFLAGS@,$(XCFLAGS),;t t
s,@XLDFLAGS@,$(XLDFLAGS),;t t
s,@DLDFLAGS@,$(DLDFLAGS),;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,@DLEXT2@,dll,;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,@LIBRUBY_LDSHARED@,$$(LDSHARED),;t t
s,@LIBRUBY_DLDFLAGS@,-Gi $$(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@,-o,;t t
s,@CPPOUTFILE@,,;t t
s,@LIBPATHFLAG@, -L"%s",;t t
s,@RPATHFLAG@,,;t t
s,@LIBARG@,%s.lib,;t t
s,@LINK_SO@,$$(LDSHARED) $$(DLDFLAGS) $$(LIBPATH) $$(OBJS), $$(@:/=\), nul, $$(LIBS) $$(LOCAL_LIBS), $$(DEFFILE), $$(RESFILE),;t t
s,@COMPILE_C@,$$(CC) $$(CFLAGS) $$(CPPFLAGS) -c $$(<:/=\),;t t
s,@COMPILE_CXX@,$$(CXX) $$(CXXFLAGS) $$(CPPFLAGS) -P -c $$(<:/=\),;t t
s,@COMPILE_RULES@,{$$(srcdir)}.%s{}.%s: .%s.%s:,;t t
s,@COMMON_LIBS@,m,;t t
s,@COMMON_MACROS@,WIN32_LEAN_AND_MEAN;t t
s,@COMMON_HEADERS@,winsock2.h windows.h,;t t
s,@TRY_LINK@,$$(CC) -oconftest $$(INCFLAGS) -I$$(hdrdir) $$(CPPFLAGS) $$(CFLAGS) $$(LIBPATH) $$(LDFLAGS) $$(src) $$(LOCAL_LIBS) $$(LIBS),;t t
s,@EXPORT_PREFIX@,_,;t t
s,@arch@,$(ARCH)-$(OS),;t t
s,@sitearch@,$(ARCH)-$(OS),;t t
s,@sitedir@,$${prefix}/lib/ruby/site_ruby,;t t
s,@configure_args@,--enable-shared $(configure_args),;t t
s,@configure_input@,$$configure_input,;t t
s,@srcdir@,$(srcdir),;t t
s,@top_srcdir@,$(srcdir),;t t
|

miniruby$(EXEEXT):	$(LIBRUBY_A) $(MAINOBJ) dmyext.obj
		@echo $(LIBS)
		$(LD) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) dmyext.obj,$@,nul,$(LIBRUBY_A) $(LIBS)

$(PROGRAM):	$(MAINOBJ) $(LIBRUBY_SO) $(RUBY_INSTALL_NAME).res
		$(LD) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ),$@,nul,$(LIBRUBYARG) $(LIBS),,$(RUBY_INSTALL_NAME).res

$(WPROGRAM):	$(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_SO) $(RUBYW_INSTALL_NAME).res
		$(LD) $(LDFLAGS) $(WLDFLAGS) $(MAINOBJ) $(WINMAINOBJ),$@,nul,$(LIBRUBYARG) $(LIBS),,$(RUBYW_INSTALL_NAME).res

$(LIBRUBY_A):	$(OBJS) dmyext.obj
		@-if exist $@ del $@
		$(AR) $(ARFLAGS) "$@" $(OBJS) dmyext.obj

# $(LIBRUBY):	$(LIBRUBY_SO)
#		implib $@ $(LIBRUBY_SO)

$(LIBRUBY_SO) $(LIBRUBY): $(LIBRUBY_A) $(EXTOBJS) $(RUBYDEF) $(RUBY_SO_NAME).res
		@echo $(EXTOBJS)
		$(LIBRUBY_LDSHARED) $(LIBRUBY_DLDFLAGS) $(EXTOBJS:/=\),$(LIBRUBY_SO),nul,$(LIBRUBY_A) $(LIBS),$(RUBYDEF),$(RUBY_SO_NAME).res

$(RUBYDEF):	$(LIBRUBY_A) miniruby$(EXEEXT)
		$(MINIRUBY) $(srcdir)bcc32/mkexports.rb -output=$@ $(LIBRUBY_A)

install:	rbconfig.rb
		$(MINIRUBY) $(srcdir)instruby.rb $(SCRIPT_ARGS)
		$(MINIRUBY) $(srcdir)ext/extmk.rb $(SCRIPT_ARGS) install

what-where no-install:	rbconfig.rb
		$(MINIRUBY) $(srcdir)instruby.rb -n $(SCRIPT_ARGS)
		$(MINIRUBY) $(srcdir)ext/extmk.rb -n $(SCRIPT_ARGS) install

clean:		clean-ext clean-local

clean-local:
		@if exist $(LIBRUBY_A) del $(LIBRUBY_A)
		@if exist $(MAINOBJ) del $(MAINOBJ)
		@if exist rbconfig.rb del rbconfig.rb
		@if exist ext\extinit.c del ext\extinit.c
		@if exist ext\extinit.obj del ext\extinit.obj
		@if exist ext\vc*.pdb del ext\vc*.pdb
		@if exist *.obj del *.obj
		@if exist *.res del *.res
		@if exist *.tds del *.tds
		@if exist *.il? del *.il?

clean-ext:
		@-$(MINIRUBY) $(srcdir)ext/extmk.rb $(SCRIPT_ARGS) clean

distclean:	distclean-ext distclean-local

distclean-local:	clean-local
		@if exist Makefile del Makefile
		@if exist config.h del config.h
		@if exist ext\config.cache del ext\config.cache
		@if exist config.cache del config.cache
		@if exist config.log del config.log
		@if exist config.status del config.status
		@if exist *~ del *~
		@if exist *.bak del *.bak
		@if exist *.stackdump del *.stackdump
		@if exist *.core del *.core
		@if exist gmon.out del gmon.out
		@if exist y.tab.c del y.tab.c
		@if exist y.output del y.output
		@if exist *.map del *.map
		@if exist *.pdb del *.pdb
		@if exist *.ilk del *.ilk
		@if exist *.exp del *.exp
		@if exist $(RUBYDEF) del $(RUBYDEF)
		@if exist $(RUBY_INSTALL_NAME).rc del $(RUBY_INSTALL_NAME).rc
		@if exist $(RUBYW_INSTALL_NAME).rc del $(RUBYW_INSTALL_NAME).rc
		@if exist $(RUBY_SO_NAME).rc del $(RUBY_SO_NAME).rc
		@if exist $(PROGRAM) del $(PROGRAM)
		@if exist $(WPROGRAM) del $(WPROGRAM)
		@if exist $(LIBRUBY_SO) del $(LIBRUBY_SO)
		@if exist $(LIBRUBY) del $(LIBRUBY)
		@if exist ext\nul if not exist ext\* rmdir ext
		@if exist miniruby$(EXEEXT) del miniruby$(EXEEXT)

distclean-ext:
		@-$(MINIRUBY) $(srcdir)ext/extmk.rb $(SCRIPT_ARGS) distclean

realclean:	distclean
		@if exist parse.c del parse.c
		@if exist lex.c del lex.c

test:		miniruby$(EXEEXT) rbconfig.rb $(PROGRAM) NUL
		@$(MINIRUBY) $(srcdir)rubytest.rb

rbconfig.rb:	miniruby$(EXEEXT) config.status
		@$(MINIRUBY) $(srcdir)mkconfig.rb -srcdir=$(srcdir) \
			-install_name=$(RUBY_INSTALL_NAME) \
			-so_name=$(RUBY_SO_NAME) rbconfig.rb

$(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(RUBY_SO_NAME).rc: rbconfig.rb
		@$(MINIRUBY) $(srcdir)win32/resource.rb \
			-ruby_name=$(RUBY_INSTALL_NAME) \
			-rubyw_name=$(RUBYW_INSTALL_NAME) \
			-so_name=$(RUBY_SO_NAME) \
			. $(icondirs) $(srcdir)win32

#config.status:	$(srcdir)configure
#		$(SHELL) .config.status --recheck

.path.c = .;$(srcdir);$(srcdir)win32;$(srcdir)missing
.path.h = .;$(srcdir);$(srcdir)win32;$(srcdir)missing
.path.y = $(srcdir)

.c.obj:
	$(CC) $(CFLAGS) $(XCFLAGS) -I. $(CPPFLAGS) -c $(<:/=\)

.rc.res:
	$(RC) $(RFLAGS) -I. -I$(<D). $(iconinc) -I$(srcdir)win32 $(RFLAGS) -fo$@ $(<:/=\)

.y.c:
	$(YACC) $(YFLAGS) $(<:\=/)
	sed -e "s!^ *extern char \*getenv();!/* & */!;s/^\(#.*\)y\.tab/\1parse/" y.tab.c > $(@F)
	@del y.tab.c

parse.c: parse.y

ext/extinit.obj: ext/extinit.c $(SETUP)
	$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -o$@ -c ext/extinit.c

acosh.obj: acosh.c win32.h
alloca.obj: alloca.c win32.h
crypt.obj: crypt.c win32.h
dup2.obj: dup2.c win32.h
erf.obj: erf.c win32.h
finite.obj: finite.c win32.h
flock.obj: flock.c win32.h
memcmp.obj: memcmp.c win32.h
memmove.obj: memmove.c win32.h
mkdir.obj: mkdir.c win32.h
vsnprintf.obj: vsnprintf.c win32.h
strcasecmp.obj: strcasecmp.c win32.h
strncasecmp.obj: strncasecmp.c win32.h
strchr.obj: strchr.c win32.h
strdup.obj: strdup.c win32.h
strerror.obj: strerror.c win32.h
strftime.obj: strftime.c win32.h
strstr.obj: strstr.c win32.h
strtod.obj: strtod.c win32.h
strtol.obj: strtol.c win32.h
strtoul.obj: strtoul.c win32.h
nt.obj: nt.c win32.h
x68.obj: x68.c win32.h
os2.obj: os2.c win32.h
dl_os2.obj: dl_os2.c win32.h

# when I use -I., there is confliction at "OpenFile" 
# so, set . into environment varible "include"
win32.obj: win32.c win32.h

###
array.obj: array.c ruby.h config.h defines.h intern.h missing.h util.h st.h win32.h
bignum.obj: bignum.c ruby.h config.h defines.h intern.h missing.h win32.h
class.obj: class.c ruby.h config.h defines.h intern.h missing.h rubysig.h node.h st.h win32.h
compar.obj: compar.c ruby.h config.h defines.h intern.h missing.h win32.h
dir.obj: dir.c ruby.h config.h defines.h intern.h missing.h util.h win32.h
dln.obj: dln.c ruby.h config.h defines.h intern.h missing.h dln.h win32.h
dmyext.obj: dmyext.c
enum.obj: enum.c ruby.h config.h defines.h intern.h missing.h node.h util.h win32.h
error.obj: error.c ruby.h config.h defines.h intern.h missing.h env.h st.h win32.h
eval.obj: eval.c ruby.h config.h defines.h intern.h missing.h node.h env.h util.h rubysig.h st.h dln.h win32.h
file.obj: file.c ruby.h config.h defines.h intern.h missing.h rubyio.h rubysig.h util.h dln.h win32.h
gc.obj: gc.c ruby.h config.h defines.h intern.h missing.h rubysig.h st.h node.h env.h re.h regex.h win32.h
hash.obj: hash.c ruby.h config.h defines.h intern.h missing.h st.h util.h rubysig.h win32.h
inits.obj: inits.c ruby.h config.h defines.h intern.h missing.h win32.h
io.obj: io.c ruby.h config.h defines.h intern.h missing.h rubyio.h rubysig.h env.h util.h win32.h
main.obj: main.c ruby.h config.h defines.h intern.h missing.h win32.h
marshal.obj: marshal.c ruby.h config.h defines.h intern.h missing.h rubyio.h st.h util.h win32.h
math.obj: math.c ruby.h config.h defines.h intern.h missing.h win32.h
numeric.obj: numeric.c ruby.h config.h defines.h intern.h missing.h win32.h
object.obj: object.c ruby.h config.h defines.h intern.h missing.h st.h util.h win32.h
pack.obj: pack.c ruby.h config.h defines.h intern.h missing.h win32.h
parse.obj: parse.c ruby.h config.h defines.h intern.h missing.h env.h node.h st.h regex.h util.h lex.c win32.h
prec.obj: prec.c ruby.h config.h defines.h intern.h missing.h win32.h
process.obj: process.c ruby.h config.h defines.h intern.h missing.h rubysig.h st.h win32.h
random.obj: random.c ruby.h config.h defines.h intern.h missing.h win32.h
range.obj: range.c ruby.h config.h defines.h intern.h missing.h win32.h
re.obj: re.c ruby.h config.h defines.h intern.h missing.h re.h regex.h win32.h
regex.obj: regex.c config.h regex.h win32.h
ruby.obj: ruby.c ruby.h config.h defines.h intern.h missing.h dln.h node.h util.h win32.h
signal.obj: signal.c ruby.h config.h defines.h intern.h missing.h rubysig.h win32.h
sprintf.obj: sprintf.c ruby.h config.h defines.h intern.h missing.h win32.h
st.obj: st.c config.h st.h
string.obj: string.c ruby.h config.h defines.h intern.h missing.h re.h regex.h win32.h
struct.obj: struct.c ruby.h config.h defines.h intern.h missing.h win32.h
time.obj: time.c ruby.h config.h defines.h intern.h missing.h win32.h
util.obj: util.c ruby.h config.h defines.h intern.h missing.h util.h win32.h
variable.obj: variable.c ruby.h config.h defines.h intern.h missing.h env.h node.h st.h util.h win32.h
version.obj: version.c ruby.h config.h defines.h intern.h missing.h version.h win32.h
