SHELL = $(COMSPEC) #### 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 !ifndef RUBY_SO_NAME RUBY_SO_NAME = rubymw !endif !if !defined(icondirs) && defined(ICONDIRS) icondirs=$(ICONDIRS) !endif !if defined(icondirs) icondirs=$(icondirs:\=/) iconinc=-I$(icondirs) !endif ############### VPATH = $(srcdir):$(srcdir)/missing .SUFFIXES: .y CC = bcc32 RC = brc32 YACC = byacc PURIFY = AUTOCONF = autoconf prefix = /usr CFLAGS = -DNT=1 -O -5 -w-aus -w-par -w-pro CPPFLAGS = -I$(srcdir) -I$(srcdir)\missing LDFLAGS = $(CFLAGS) XLDFLAGS = #EXTLIBS = cw32.lib LIBS = $(EXTLIBS) MISSING = crypt.obj win32.obj P_MISSING = +crypt.obj +win32.obj LDSHARED = DLDFLAGS = SOLIBS = RFLAGS = -r EXEEXT = .exe PROGRAM = $(RUBY_INSTALL_NAME)$(EXEEXT) RUBYRES = $(RUBY_INSTALL_NAME).res WPROGRAM = $(RUBYW_INSTALL_NAME)$(EXEEXT) RUBYWRES = $(RUBYW_INSTALL_NAME).res RUBYDEF = $(RUBY_SO_NAME).def #### End of system configuration section. #### LIBRUBY_A = lib$(RUBY_INSTALL_NAME).lib LIBRUBY_SO = $(RUBY_SO_NAME).dll LIBRUBY = $(RUBY_SO_NAME).lib LIBRUBYARG = $(LIBRUBY) EXTOBJS = dmyext.obj 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) P_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 $(P_MISSING) all: miniruby$(EXEEXT) rbconfig.rb ext/extmk.rb \ $(LIBRUBY) $(MISCLIBS) .\miniruby$(EXEEXT) -Cext extmk.rb ruby: $(PROGRAM) rubyw: $(WPROGRAM) dll: $(LIBRUBY_SO) ext/extmk.rb: $(srcdir)/ext/extmk.rb.in config.status @echo Creating ext/extmk.rb .\miniruby$(EXEEXT) $(srcdir)/ext/configsub.rb \ -srcdir=$(srcdir) \ -install_name=$(RUBY_INSTALL_NAME) \ -so_name=$(RUBY_SO_NAME) \ -output=$@ $(srcdir)/ext/extmk.rb.in miniruby$(EXEEXT): $(OBJS) $(MAINOBJ) $(EXTOBJS) @echo $(EXTOBJS) @echo $(LIBS) $(PURIFY) $(CC) $(LDFLAGS) -e$@ $(MAINOBJ) $(EXTOBJS) $(OBJS) $(LIBS) $(PROGRAM): $(MAINOBJ) $(LIBRUBY_SO) $(RUBYRES) # $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) -e$@ $(MAINOBJ) $(LIBRUBYARG) ilink32 -Tpe C0X32.OBJ $(MAINOBJ) $(EXTOBJS), $@,, CW32.LIB IMPORT32.LIB WS2_32.LIB $(LIBRUBY), $(RUBYDEF), $(RUBYRES) $(WPROGRAM): $(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_SO) $(RUBYWRES) $(PURIFY) $(CC) $(LDFLAGS) -e$@ $(MAINOBJ) $(WINMAINOBJ) $(LIBRUBYARG) $(LIBRUBY_A): $(OBJS) dmyext.obj -del $@ tlib $@ $(P_OBJS) +dmyext.obj $(LIBRUBY): $(LIBRUBY_SO) implib $@ $(LIBRUBY_SO) $(LIBRUBY_SO): $(LIBRUBY_A) $(EXTOBJS) $(RUBYDEF) $(RUBYRES) # $(CC) -WD $(LDFLAGS) -e$@ $(EXTOBJS) $(LIBRUBY) ilink32 -Tpd C0D32.OBJ $(EXTOBJS), $@,, CW32.LIB IMPORT32.LIB WS2_32.LIB $(LIBRUBY_A), $(RUBYDEF), $(RUBYRES) !if "$(LIBRUBY_SO)" != "rubymw.dll" rubymw.dll: $(LIBRUBY) $(CC) $(EXTOBJS) $(LIBRUBY) -e$@ !endif $(RUBYDEF): $(LIBRUBY_A) miniruby$(EXEEXT) .\miniruby$(EXEEXT) $(srcdir)/win32/mkexports.rb -output=$@ $(LIBRUBY_A) install: rbconfig.rb .\miniruby$(EXEEXT) $(srcdir)/instruby.rb $(DESTDIR) clean: -del $(LIBRUBY_A) -del $(MAINOBJ) -del rbconfig.rb -del ext\extinit.c -del ext\extinit.obj -del ext\vc*.pdb -del *.ilc -del *.ild -del *.ilf -del *.ils -del *.tds -del *.obj -del *.res @if exist extmk.rb .\miniruby$(EXEEXT) -Cext extmk.rb clean distclean: clean -del Makefile -del ext\extmk.rb -del config.h -del ext\config.cache -del config.cache -del config.log -del config.status -del *~ -del *.bak -del *.stackdump -del *.core -del gmon.out -del y.tab.c -del y.output -del *.map -del *.pdb -del *.ilk -del *.exp -del pub.def -del $(RUBYDEF) -del $(RUBY_INSTALL_NAME).rc -del $(RUBYW_INSTALL_NAME).rc -del $(LIBRUBY_SO).rc -del $(PROGRAM) -del $(WPROGRAM) -del $(LIBRUBY_SO) -del $(LIBRUBY) @if exist ext\nul if not exist ext\* rmdir ext -del miniruby$(EXEEXT) realclean: distclean -del parse.c -del lex.c test: miniruby$(EXEEXT) .\miniruby$(EXEEXT) $(srcdir)/rubytest.rb rbconfig.rb: miniruby$(EXEEXT) config.status miniruby$(EXEEXT) $(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 $(LIBRUBY_SO).rc: rbconfig.rb @.\miniruby$(EXEEXT) $(srcdir)/win32/resource.rb \ -ruby_name=$(RUBY_INSTALL_NAME) \ -rubyw_name=$(RUBYW_INSTALL_NAME) \ -so_name=$(LIBRUBY_SO) \ . $(icondirs) $(srcdir)/win32 #config.status: $(srcdir)/configure # $(SHELL) ./config.status --recheck {$(srcdir)/missing}.c.obj: $(CC) $(CFLAGS) -I. -I$( $@ @del y.tab.c {$(srcdir)}parse.c: parse.y alloca.obj: $(srcdir)\missing\alloca.c crypt.obj: $(srcdir)\missing\crypt.c dup2.obj: $(srcdir)\missing\dup2.c finite.obj: $(srcdir)\missing\finite.c flock.obj: $(srcdir)\missing\flock.c isinf.obj: $(srcdir)\missing\isinf.c isnan.obj: $(srcdir)\missing\isnan.c memcmp.obj: $(srcdir)\missing\memcmp.c memmove.obj: $(srcdir)\missing\memmove.c mkdir.obj: $(srcdir)\missing\mkdir.c vsnprintf.obj: $(srcdir)\missing\vsnprintf.c strcasecmp.obj: $(srcdir)\missing\strcasecmp.c strncasecmp.obj: $(srcdir)\missing\strncasecmp.c strchr.obj: $(srcdir)\missing\strchr.c strdup.obj: $(srcdir)\missing\strdup.c strerror.obj: $(srcdir)\missing\strerror.c strftime.obj: $(srcdir)\missing\strftime.c strstr.obj: $(srcdir)\missing\strstr.c strtod.obj: $(srcdir)\missing\strtod.c strtol.obj: $(srcdir)\missing\strtol.c strtoul.obj: $(srcdir)\missing\strtoul.c nt.obj: $(srcdir)\missing\nt.c x68.obj: $(srcdir)\missing\x68.c os2.obj: $(srcdir)\missing\os2.c dl_os2.obj: $(srcdir)\missing\dl_os2.c # when I use -I., there is confliction at "OpenFile" # so, set . into environment varible "include" win32.obj: $(srcdir)\win32\win32.c ### parse.obj: {$(srcdir)}parse.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h $(srcdir)\env.h $(srcdir)\node.h $(srcdir)\st.h $(srcdir)\regex.h $(srcdir)\util.h $(srcdir)\lex.c ### array.obj: $(srcdir)\array.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h bignum.obj: $(srcdir)\bignum.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h class.obj: $(srcdir)\class.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h $(srcdir)\node.h $(srcdir)\st.h compar.obj: $(srcdir)\compar.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h dir.obj: $(srcdir)\dir.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h dln.obj: $(srcdir)\dln.c config.h $(srcdir)\defines.h $(srcdir)\dln.h dmyext.obj: $(srcdir)\dmyext.c enum.obj: $(srcdir)\enum.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h error.obj: $(srcdir)\error.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h $(srcdir)\env.h eval.obj: $(srcdir)\eval.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h $(srcdir)\node.h $(srcdir)\env.h $(srcdir)\rubysig.h $(srcdir)\st.h $(srcdir)\dln.h file.obj: $(srcdir)\file.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h $(srcdir)\rubyio.h $(srcdir)\rubysig.h gc.obj: $(srcdir)\gc.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h $(srcdir)\rubysig.h $(srcdir)\st.h $(srcdir)\node.h $(srcdir)\env.h $(srcdir)\re.h $(srcdir)\regex.h hash.obj: $(srcdir)\hash.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h $(srcdir)\st.h $(srcdir)\rubysig.h $(srcdir)\util.h inits.obj: $(srcdir)\inits.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h io.obj: $(srcdir)\io.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h $(srcdir)\rubyio.h $(srcdir)\rubysig.h $(srcdir)\env.h main.obj: $(srcdir)\main.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h marshal.obj: $(srcdir)\marshal.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h $(srcdir)\rubyio.h $(srcdir)\st.h prec.obj: $(srcdir)\prec.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h math.obj: $(srcdir)\math.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h numeric.obj: $(srcdir)\numeric.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h object.obj: $(srcdir)\object.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h $(srcdir)\st.h pack.obj: $(srcdir)\pack.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h process.obj: $(srcdir)\process.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h $(srcdir)\rubysig.h $(srcdir)\st.h random.obj: $(srcdir)\random.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h range.obj: $(srcdir)\range.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h re.obj: $(srcdir)\re.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h $(srcdir)\re.h $(srcdir)\regex.h regex.obj: $(srcdir)\regex.c config.h $(srcdir)\regex.h $(srcdir)\util.h ruby.obj: $(srcdir)\ruby.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h $(srcdir)\dln.h $(srcdir)\util.h signal.obj: $(srcdir)\signal.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h $(srcdir)\rubysig.h sprintf.obj: $(srcdir)\sprintf.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h st.obj: $(srcdir)\st.c config.h $(srcdir)\st.h string.obj: $(srcdir)\string.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h $(srcdir)\re.h $(srcdir)\regex.h struct.obj: $(srcdir)\struct.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h time.obj: $(srcdir)\time.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h util.obj: $(srcdir)\util.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h $(srcdir)\util.h variable.obj: $(srcdir)\variable.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h $(srcdir)\env.h $(srcdir)\node.h $(srcdir)\st.h version.obj: $(srcdir)\version.c $(srcdir)\ruby.h config.h $(srcdir)\defines.h $(srcdir)\intern.h $(srcdir)\version.h #$(OBJS) $(MAINOBJ) $(WINMAINOBJ): $(srcdir)\win32\win32.h