ruby--ruby/bcc32/Makefile.sub

546 lines
15 KiB
Makefile

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
!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 = rubybcc
!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 RC
RC = brc32
!endif
!ifndef YACC
YACC = byacc
!endif
PURIFY =
AUTOCONF = autoconf
!if !defined(PROCESSOR_ARCHITECTURE) || "$(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 = i$(PROCESSOR_LEVEL)86
!else
CPU = $(PROCESSOR_ARCHITECTURE)
ARCH = $(PROCESSOR_ARCHITECTURE)
!endif
!ifndef DEBUGFLAGS
DEBUGFLAGS =
!endif
!ifndef OPTFLAGS
OPTFLAGS = -O
!endif
OS = bccwin32
!ifndef prefix
prefix = /usr
!endif
!ifndef DESTDIR
DESTDIR = $(prefix)
!endif
!ifndef CFLAGS
CFLAGS = -DNT=1 $(DEBUGFLAGS) $(OPTFLAGS) $(PROCESSOR_FLAG) -w-aus -w-par -w-pro
!endif
!ifndef CPPFLAGS
CPPFLAGS = -I. -I$(srcdir) -I$(srcdir)missing -DLIBRUBY_SO=\"$(LIBRUBY_SO)\"
!endif
!ifndef LDFLAGS
LDFLAGS = $(CFLAGS)
!endif
!ifndef XLDFLAGS
XLDFLAGS =
!endif
!ifndef RFLAGS
RFLAGS = -r
!endif
!ifndef EXTLIBS
EXTLIBS = # cw32.lib
!endif
LIBS = $(EXTLIBS)
MISSING = acosh.obj crypt.obj win32.obj
!ifndef STACK
STACK = 0x2000000
!endif
LDSHARED = $(CC) -lS:$(STACK)
LINK = $(LDSHARED) -WC
LINK_W = $(LDSHARED) -W
LINK_SO = $(LDSHARED) -WD
DLDFLAGS =
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 = 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)
@.\miniruby$(EXEEXT) -Cext extmk.rb
ruby: $(PROGRAM)
rubyw: $(WPROGRAM)
lib: $(LIBRUBY)
dll: $(LIBRUBY_SO)
config: config.h config.status
config.h: Makefile $(srcdir)bcc32/Makefile.sub
@echo Creating config.h
type > $@ &&|
\#define HAVE_PROTOTYPES 1
\#define HAVE_STDARG_PROTOTYPES 1
/* \#define HAVE_ATTR_NORETURN 1 */
\#define NORETURN(x) x
\#define TOKEN_PASTE(x,y) x\#\#y
\#define inline __inline
/* \#define HAVE_DIRENT_H 1 */
/* \#define HAVE_UNISTD_H 1 */
\#define HAVE_STDLIB_H 1
\#define HAVE_LIMITS_H 1
/* \#define HAVE_SYS_FILE_H 1 */
\#define HAVE_FCNTL_H 1
/* \#define HAVE_PWD_H 1 */
/* \#define HAVE_SYS_TIME_H 1 */
/* \#define HAVE_SYS_TIMES_H 1 */
/* \#define HAVE_SYS_PARAM_H 1 */
/* \#define HAVE_SYS_WAIT_H 1 */
\#define HAVE_STRING_H 1
/* \#define HAVE_UTIME_H 1 */
\#define HAVE_MEMORY_H 1
/* \#define HAVE_ST_BLKSIZE 1 */
\#define HAVE_ST_RDEV 1
/* \#define GETGROUPS_T gid_t */
\#define GETGROUPS_T int
\#define RETSIGTYPE void
\#define HAVE_ALLOCA 1
\#define vfork fork
\#define HAVE_FMOD 1
/* \#define HAVE_RANDOM 1 */
\#define HAVE_WAITPID 1
\#define HAVE_GETCWD 1
/* \#define HAVE_TRUNCATE 1 */
\#define HAVE_CHSIZE 1
\#define HAVE_TIMES 1
/* \#define HAVE_UTIMES 1 */
/* \#define HAVE_FCNTL 1 */
/* \#define HAVE_SETITIMER 1 */
\#define HAVE_GETGROUPS 1
/* \#define HAVE_SIGPROCMASK 1 */
\#define HAVE_GETLOGIN 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)>>y)
\#define FILE_COUNT level
\#define FILE_READPTR curp
\#define DEFAULT_KCODE KCODE_NONE
\#define DLEXT ".so"
\#define DLEXT2 ".dll"
\#define RUBY_LIB "/lib/ruby/1.7"
\#define RUBY_SITE_LIB "/lib/ruby/site_ruby"
\#define RUBY_SITE_LIB2 "/lib/ruby/site_ruby/1.7"
\#define RUBY_PLATFORM "$(ARCH)-$(OS)"
\#define RUBY_ARCHLIB "/lib/ruby/1.7/$(ARCH)-$(OS)"
\#define RUBY_SITE_ARCHLIB "/lib/ruby/site_ruby/1.7/$(ARCH)-$(OS)"
\#define SIZEOF_INT 4
\#define SIZEOF_SHORT 2
\#define SIZEOF_LONG 4
\#define SIZEOF___INT64 8
\#define SIZEOF_VOIDP 4
\#define SIZEOF_FLOAT 4
\#define SIZEOF_DOUBLE 8
\#define HAVE_DECL_SYS_NERR 1
\#define HAVE_ISINF 1
\#define HAVE_ISNAN 1
\#define HAVE_MEMMOVE 1
\#define HAVE_MKDIR 1
\#define HAVE_STRCASECMP 1
\#define HAVE_STRNCASECMP 1
\#define HAVE_STRCHR 1
\#define HAVE_STRERROR 1
\#define HAVE_STRFTIME 1
\#define HAVE_STRSTR 1
\#define HAVE_STRTOD 1
\#define HAVE_STRTOUL 1
|
config.status: Makefile $(srcdir)bcc32/Makefile.sub $(MINIRUBY)
@echo Creating config.status
@$(MINIRUBY) -pe "~/@CFLAGS@/||$$_.sub!(/'$(CFLAGS)'/, '$$(CFLAGS)')" > $@ &&|
# 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@,$(LDFLAGS),;t t
s,@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@,rem,;t t
s,@AR@,tlib -nologo,;t t
s,@LN_S@,$(LN_S),;t t
s,@SET_MAKE@,$(SET_MAKE),;t t
s,@LIBOBJS@, acosh.obj crypt.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,@XLDFLAGS@,$(XLDFLAGS),;t t
s,@DLDFLAGS@,$$(CFLAGS),;t t
s,@STATIC@,$(STATIC),;t t
s,@CCDLFLAGS@,-DIMPORT,;t t
s,@LDSHARED@,ilink32 -S:$(STACK) -Tpd,;t t
s,@DLEXT@,so,;t t
s,@DLEXT2@,dll,;t t
s,@STRIP@,$(STRIP),;t t
s,@EXTSTATIC@,$(EXTSTATIC),;t t
s,@setup@,Setup,;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,@RUBY_SO_NAME@,$(RUBY_SO_NAME),;t t
s,@LIBRUBY_A@,lib$$(RUBY_INSTALL_NAME).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@,$$(RUBY_SO_NAME).lib,;t t
s,@SOLIBS@,$(SOLIBS),;t t
s,@DLDLIBS@,$(DLDLIBS),;t t
s,@ENABLE_SHARED@,yes,;t t
s,@arch@,$(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
|
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)
$(LINK) -e$@ $(MAINOBJ) $(EXTOBJS) $(OBJS) $(LIBS)
$(PROGRAM): $(MAINOBJ) $(LIBRUBY_SO) $(*:.exe=.res)
$(LINK) -e$@ $(MAINOBJ) $(LIBRUBYARG)
$(WPROGRAM): $(MAINOBJ) $(WINMAINOBJ) $(LIBRUBY_SO) $(*:.exe=.res)
$(LINK_W) -e$@ $(MAINOBJ) $(WINMAINOBJ) $(LIBRUBYARG)
$(LIBRUBY_A): $(OBJS) dmyext.obj
@-if exist $@ del $@
tlib $@ /a @&&|
$(OBJS) dmyext.obj
|
$(LIBRUBY): $(LIBRUBY_SO)
implib $@ $(LIBRUBY_SO)
$(LIBRUBY_SO): $(LIBRUBY_A) $(EXTOBJS) $(RUBYDEF) $(*:.dll=.res)
$(LINK_SO) -e$@ $(MAINOBJ) $(EXTOBJS) $(LIBRUBY_A) $(LIBS)
$(RUBYDEF): $(LIBRUBY_A) miniruby$(EXEEXT)
.\miniruby$(EXEEXT) $(srcdir)bcc32/mkexports.rb -output=$@ $(LIBRUBY_A)
install: rbconfig.rb
.\miniruby$(EXEEXT) $(srcdir)instruby.rb $(DESTDIR)
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
clean-ext:
@-.\miniruby$(EXEEXT) -Cext extmk.rb clean
distclean: distclean-ext distclean-local
distclean-local: clean-local
@if exist Makefile del Makefile
@if exist ext\extmk.rb del ext\extmk.rb
@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 pub.def del pub.def
@if exist $(RUBY_INSTALL_NAME).rc del $(RUBY_INSTALL_NAME).rc
@if exist $(RUBYW_INSTALL_NAME).rc del $(RUBYW_INSTALL_NAME).rc
@if exist $(LIBRUBY_SO).rc del $(LIBRUBY_SO).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$(EXEEXT) -Cext extmk.rb distclean
realclean: distclean
@if exist parse.c del parse.c
@if exist lex.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
.path.c = .;$(srcdir);$(srcdir)win32;$(srcdir)missing
.path.h = .;$(srcdir);$(srcdir)win32;$(srcdir)missing
.path.y = $(srcdir)
.c.obj:
$(CC) $(CFLAGS) -I. $(CPPFLAGS) -c $(<:/=\)
.rc.res:
$(RC) -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
acosh.obj: acosh.c win32.h
alloca.obj: alloca.c win32.h
crypt.obj: crypt.c win32.h
dup2.obj: dup2.c win32.h
finite.obj: finite.c win32.h
flock.obj: flock.c win32.h
isinf.obj: isinf.c win32.h
isnan.obj: isnan.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
###
parse.obj: parse.c ruby.h config.h defines.h intern.h env.h node.h st.h regex.h util.h lex.c win32.h
###
array.obj: array.c ruby.h config.h defines.h intern.h win32.h
bignum.obj: bignum.c ruby.h config.h defines.h intern.h win32.h
class.obj: class.c ruby.h config.h defines.h intern.h node.h st.h win32.h
compar.obj: compar.c ruby.h config.h defines.h intern.h win32.h
dir.obj: dir.c ruby.h config.h defines.h intern.h win32.h
dln.obj: dln.c config.h defines.h dln.h win32.h
dmyext.obj: dmyext.c win32.h
enum.obj: enum.c ruby.h config.h defines.h intern.h win32.h
error.obj: error.c ruby.h config.h defines.h intern.h env.h win32.h
eval.obj: eval.c ruby.h config.h defines.h intern.h node.h env.h rubysig.h st.h dln.h win32.h
file.obj: file.c ruby.h config.h defines.h intern.h rubyio.h rubysig.h win32.h
gc.obj: gc.c ruby.h config.h defines.h intern.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 st.h rubysig.h util.h win32.h
inits.obj: inits.c ruby.h config.h defines.h intern.h win32.h
io.obj: io.c ruby.h config.h defines.h intern.h rubyio.h rubysig.h env.h win32.h
main.obj: main.c ruby.h config.h defines.h intern.h win32.h
marshal.obj: marshal.c ruby.h config.h defines.h intern.h rubyio.h st.h win32.h
prec.obj: prec.c ruby.h config.h defines.h intern.h win32.h
math.obj: math.c ruby.h config.h defines.h intern.h win32.h
numeric.obj: numeric.c ruby.h config.h defines.h intern.h win32.h
object.obj: object.c ruby.h config.h defines.h intern.h st.h win32.h
pack.obj: pack.c ruby.h config.h defines.h intern.h win32.h
process.obj: process.c ruby.h config.h defines.h intern.h rubysig.h st.h win32.h
random.obj: random.c ruby.h config.h defines.h intern.h win32.h
range.obj: range.c ruby.h config.h defines.h intern.h win32.h
re.obj: re.c ruby.h config.h defines.h intern.h re.h regex.h win32.h
regex.obj: regex.c config.h regex.h util.h win32.h
ruby.obj: ruby.c ruby.h config.h defines.h intern.h dln.h util.h win32.h
signal.obj: signal.c ruby.h config.h defines.h intern.h rubysig.h win32.h
sprintf.obj: sprintf.c ruby.h config.h defines.h intern.h win32.h
st.obj: st.c config.h st.h win32.h
string.obj: string.c ruby.h config.h defines.h intern.h re.h regex.h win32.h
struct.obj: struct.c ruby.h config.h defines.h intern.h win32.h
time.obj: time.c ruby.h config.h defines.h intern.h win32.h
util.obj: util.c ruby.h config.h defines.h intern.h util.h win32.h
variable.obj: variable.c ruby.h config.h defines.h intern.h env.h node.h st.h win32.h
version.obj: version.c ruby.h config.h defines.h intern.h version.h win32.h