From 87be0f1222670c5543518ff2cd509e6ad671e3f5 Mon Sep 17 00:00:00 2001 From: matz Date: Thu, 3 Aug 2000 09:55:54 +0000 Subject: matz - add/remove files git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@873 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- win32/Makefile.sub | 277 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 277 insertions(+) create mode 100644 win32/Makefile.sub (limited to 'win32/Makefile.sub') diff --git a/win32/Makefile.sub b/win32/Makefile.sub new file mode 100644 index 0000000000..ee3f72bfc8 --- /dev/null +++ b/win32/Makefile.sub @@ -0,0 +1,277 @@ +SHELL = $(COMPSEC) + +#### 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 +############### + +VPATH = $(srcdir):$(srcdir)/missing + +CC = cl +YACC = byacc +PURIFY = +AUTOCONF = autoconf + + +prefix = /usr +CFLAGS = -nologo -DNT=1 -Zi -O2b2x -G5 +CPPFLAGS = -I$(srcdir) -I$(srcdir)/missing +LDFLAGS = $(CFLAGS) -Fm +XLDFLAGS = +#EXTLIBS = +LIBS = user32.lib advapi32.lib wsock32.lib $(EXTLIBS) +MISSING = crypt.obj alloca.obj win32.obj isinf.obj isnan.obj +LDSHARED = +DLDFLAGS = +SOLIBS = +RFLAGS = -r + +EXEEXT = .exe +PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT) +WPROGRAM=$(RUBYW_INSTALL_NAME)$(EXEEXT) +RUBYDEF = $(RUBY_SO_NAME).def + +STACK = 0x2000000 +ORGLIBPATH = $(LIB) + +#### 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) + +all: miniruby$(EXEEXT) rbconfig.rb ext/extmk.rb \ + $(LIBRUBY) $(MISCLIBS) + set LIB=../../win32;$(ORGLIBPATH) + @.\miniruby$(EXEEXT) -Xext extmk.rb + +ruby: $(PROGRAM) +rubyw: $(WPROGRAM) +lib: $(LIBRUBY) +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) $(MAINOBJ) $(EXTOBJS) $(OBJS) $(LIBS) -o $@ + +$(PROGRAM): $(MAINOBJ) $(LIBRUBY_SO) $*.res + $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $*.res \ + -o $@ $(LIBRUBYARG) -link /STACK:$(STACK) + +$(WPROGRAM): $(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_SO) $*.res + $(PURIFY) $(CC) $(LDFLAGS) $(MAINOBJ) $(WINMAINOBJ) $*.res \ + -o $@ $(LIBRUBYARG) -link /STACK:$(STACK) /SUBSYSTEM:Windows + +$(LIBRUBY_A): $(OBJS) dmyext.obj + lib -nologo /OUT:$@ $(OBJS) dmyext.obj + +$(LIBRUBY): $(RUBYDEF) + lib -nologo /OUT:$@ /DEF:$(RUBYDEF) + +$(LIBRUBY_SO): $(LIBRUBY_A) $(EXTOBJS) $(RUBYDEF) $@.res + set LIB=./win32;$(ORGLIBPATH) + $(CC) $(LDFLAGS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBY_A) $@.res $(LIBS) \ + -o $@ -link /DLL /DEF:$(RUBYDEF) + +!if "$(LIBRUBY_SO)" != "rubymw.dll" +rubymw.dll: $(LIBRUBY) + $(CC) -nologo $(EXTOBJS) $(LIBRUBY) -o $@ -link /DLL /DEF:$(RUBYDEF) +!endif + +$(RUBYDEF): $(LIBRUBY_A) miniruby$(EXEEXT) + .\miniruby$(EXEEXT) $(srcdir)/win32/mkexports.rb -output=$@ $(LIBRUBY_A) + +install: rbconfig.rb + .\miniruby.exe $(srcdir)/instruby.rb $(DESTDIR) + +clean:; @rm -f $(OBJS) $(LIBRUBY_A) $(MAINOBJ) rbconfig.rb + @rm -f ext/extinit.c ext/extinit.obj ext/vc*.pdb *.obj *.res + @-.\miniruby$(EXEEXT) -Xext extmk.rb clean + +distclean: clean + @rm -f Makefile ext/extmk.rb config.h + @rm -f ext/config.cache config.cache config.log config.status + @rm -f *~ core *.core gmon.out y.tab.c y.output ruby.imp + @rm -f *.map *.pdb *.ilk *.exp $(RUBYDEF) + @rm -f $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(LIBRUBY_SO).rc + @rm -f $(PROGRAM) $(WPROGRAM) $(LIBRUBY_SO) $(LIBRUBY) miniruby$(EXEEXT) + +realclean: distclean + @rm -f parse.c + @rm -f 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 + +.c.obj: + $(CC) $(CFLAGS) $(CPPFLAGS) -c $< +{$(srcdir)}.c{}.obj: + $(CC) -I. -I$( parse.c + @rm y.tab.c + +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 + +# Prevent GNU make v3 from overflowing arg limit on SysV. +.NOEXPORT: +### +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 -- cgit v1.2.3