mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
81096d395c
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5913 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
410 lines
13 KiB
Makefile
410 lines
13 KiB
Makefile
SHELL = /bin/sh
|
|
|
|
#### Start of system configuration section. ####
|
|
|
|
srcdir = @srcdir@
|
|
VPATH = $(srcdir):$(srcdir)/missing
|
|
|
|
CC = @CC@
|
|
YACC = @YACC@
|
|
PURIFY =
|
|
AUTOCONF = autoconf
|
|
@SET_MAKE@
|
|
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
bindir = @bindir@
|
|
sbindir = @sbindir@
|
|
libdir = @libdir@
|
|
libexecdir = @libexecdir@
|
|
datadir = @datadir@
|
|
arch = @arch@
|
|
sitearch = @sitearch@
|
|
sitedir = @sitedir@
|
|
|
|
TESTUI = console
|
|
TESTS =
|
|
|
|
EXTOUT = .ext
|
|
RIDATADIR = $(DESTDIR)$(datadir)/ri/$(MAJOR).$(MINOR)/system
|
|
|
|
CFLAGS = @CFLAGS@ @XCFLAGS@ @ARCH_FLAG@
|
|
CPPFLAGS = -I. -I$(srcdir) @CPPFLAGS@
|
|
LDFLAGS = @STATIC@ $(CFLAGS) @LDFLAGS@
|
|
EXTLDFLAGS =
|
|
XLDFLAGS = @XLDFLAGS@ $(EXTLDFLAGS)
|
|
EXTLIBS =
|
|
LIBS = @LIBS@ $(EXTLIBS)
|
|
MISSING = @LIBOBJS@ @ALLOCA@
|
|
LDSHARED = @LIBRUBY_LDSHARED@
|
|
DLDFLAGS = @LIBRUBY_DLDFLAGS@ $(EXTLDFLAGS) @ARCH_FLAG@
|
|
SOLIBS = @SOLIBS@
|
|
MAINLIBS = @MAINLIBS@
|
|
|
|
RUBY_INSTALL_NAME=@RUBY_INSTALL_NAME@
|
|
RUBY_SO_NAME=@RUBY_SO_NAME@
|
|
EXEEXT = @EXEEXT@
|
|
PROGRAM=$(RUBY_INSTALL_NAME)$(EXEEXT)
|
|
RUBY = $(RUBY_INSTALL_NAME)
|
|
MINIRUBY = @MINIRUBY@
|
|
RUNRUBY = @RUNRUBY@
|
|
EXTCONF = extconf.rb
|
|
|
|
#### End of system configuration section. ####
|
|
|
|
MAJOR= @MAJOR@
|
|
MINOR= @MINOR@
|
|
TEENY= @TEENY@
|
|
|
|
LIBRUBY_A = @LIBRUBY_A@
|
|
LIBRUBY_SO = @LIBRUBY_SO@
|
|
LIBRUBY_ALIASES= @LIBRUBY_ALIASES@
|
|
LIBRUBY = @LIBRUBY@
|
|
LIBRUBYARG = @LIBRUBYARG@
|
|
LIBRUBYARG_STATIC = @LIBRUBYARG_STATIC@
|
|
LIBRUBYARG_SHARED = @LIBRUBYARG_SHARED@
|
|
|
|
PREP = @PREP@
|
|
ARCHFILE = @ARCHFILE@
|
|
SETUP =
|
|
EXTSTATIC = @EXTSTATIC@
|
|
|
|
EXTOBJS =
|
|
DLDOBJS = $(DMYEXT)
|
|
DMYEXT = dmyext.@OBJEXT@
|
|
|
|
MAINOBJ = main.@OBJEXT@
|
|
|
|
OBJS = array.@OBJEXT@ \
|
|
bignum.@OBJEXT@ \
|
|
class.@OBJEXT@ \
|
|
compar.@OBJEXT@ \
|
|
dir.@OBJEXT@ \
|
|
dln.@OBJEXT@ \
|
|
enum.@OBJEXT@ \
|
|
error.@OBJEXT@ \
|
|
eval.@OBJEXT@ \
|
|
file.@OBJEXT@ \
|
|
gc.@OBJEXT@ \
|
|
hash.@OBJEXT@ \
|
|
inits.@OBJEXT@ \
|
|
io.@OBJEXT@ \
|
|
marshal.@OBJEXT@ \
|
|
math.@OBJEXT@ \
|
|
numeric.@OBJEXT@ \
|
|
object.@OBJEXT@ \
|
|
pack.@OBJEXT@ \
|
|
parse.@OBJEXT@ \
|
|
process.@OBJEXT@ \
|
|
prec.@OBJEXT@ \
|
|
random.@OBJEXT@ \
|
|
range.@OBJEXT@ \
|
|
re.@OBJEXT@ \
|
|
regex.@OBJEXT@ \
|
|
ruby.@OBJEXT@ \
|
|
signal.@OBJEXT@ \
|
|
sprintf.@OBJEXT@ \
|
|
st.@OBJEXT@ \
|
|
string.@OBJEXT@ \
|
|
struct.@OBJEXT@ \
|
|
time.@OBJEXT@ \
|
|
util.@OBJEXT@ \
|
|
variable.@OBJEXT@ \
|
|
version.@OBJEXT@ \
|
|
$(MISSING)
|
|
|
|
MANTYPE = @MANTYPE@
|
|
|
|
SCRIPT_ARGS = --dest-dir="$(DESTDIR)" \
|
|
--make="$(MAKE)" \
|
|
--mflags="$(MFLAGS)" \
|
|
--make-flags="$(MAKEFLAGS)"
|
|
EXTMK_ARGS = $(SCRIPT_ARGS) --extout="$(EXTOUT)" --extension $(EXTS) --extstatic $(EXTSTATIC) --
|
|
|
|
all: @MAKEFILES@ $(PREP) rbconfig.rb $(LIBRUBY)
|
|
@$(MINIRUBY) $(srcdir)/ext/extmk.rb $(EXTMK_ARGS)
|
|
|
|
miniruby$(EXEEXT): config.status $(LIBRUBY_A) $(MAINOBJ) $(DMYEXT)
|
|
@rm -f $@
|
|
$(PURIFY) $(CC) $(LDFLAGS) $(MAINLIBS) $(MAINOBJ) $(LIBRUBY_A) $(LIBS) -o $@
|
|
|
|
$(PROGRAM): $(LIBRUBY) $(MAINOBJ) $(EXTOBJS) $(SETUP) $(PREP)
|
|
@rm -f $@
|
|
$(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINLIBS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(LIBS) -o $@
|
|
|
|
static-ruby: $(MAINOBJ) $(EXTOBJS) $(LIBRUBY_A)
|
|
@rm -f $(STATICRUBY)
|
|
$(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINLIBS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBY_A) $(LIBS) -o $(STATICRUBY)
|
|
|
|
# We must `rm' the library each time this rule is invoked because "updating" a
|
|
# MAB library on Apple/NeXT (see --enable-fat-binary in configure) is not
|
|
# supported.
|
|
$(LIBRUBY_A): $(OBJS) $(DMYEXT)
|
|
@rm -f $@
|
|
@AR@ rcu $@ $(OBJS) $(DMYEXT)
|
|
@-@RANLIB@ $@ 2> /dev/null || true
|
|
|
|
$(LIBRUBY_SO): $(OBJS) $(DLDOBJS) $(PREP) $(ARCHFILE)
|
|
$(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(SOLIBS) -o $@
|
|
@-$(MINIRUBY) -e 'ARGV.each{|link| File.delete link if File.exist? link; \
|
|
File.symlink "$(LIBRUBY_SO)", link}' \
|
|
$(LIBRUBY_ALIASES) || true
|
|
|
|
ruby.imp: $(LIBRUBY_A)
|
|
@@NM@ -Pgp $(LIBRUBY_A) | awk 'BEGIN{print "#!"}; $$2~/^[BD]$$/{print $$1}' | sort -u -o $@
|
|
# $(MINIRUBY) $< $@
|
|
|
|
install: install-nodoc @RDOCTARGET@
|
|
install-all: install-nodoc install-doc
|
|
|
|
install-nodoc: install-local install-ext
|
|
install-local: rbconfig.rb
|
|
$(MINIRUBY) $(srcdir)/instruby.rb $(SCRIPT_ARGS) --mantype="$(MANTYPE)"
|
|
install-ext: rbconfig.rb
|
|
$(MINIRUBY) $(srcdir)/ext/extmk.rb $(EXTMK_ARGS) install
|
|
|
|
what-where-all no-install-all: no-install no-install-doc
|
|
what-where no-install: no-install-local no-install-ext
|
|
what-where-local: no-install-local
|
|
no-install-local: rbconfig.rb
|
|
$(MINIRUBY) $(srcdir)/instruby.rb -n $(SCRIPT_ARGS) --mantype="$(MANTYPE)"
|
|
what-where-ext: no-install-ext
|
|
no-install-ext: rbconfig.rb
|
|
$(MINIRUBY) $(srcdir)/ext/extmk.rb -n $(EXTMK_ARGS) install
|
|
|
|
install-doc: $(PROGRAM)
|
|
@echo Generating RDoc documentation
|
|
$(RUNRUBY) "$(srcdir)/bin/rdoc" --all --ri --op "$(RIDATADIR)" "$(srcdir)"
|
|
|
|
clean-ext:
|
|
@-$(MINIRUBY) $(srcdir)/ext/extmk.rb $(EXTMK_ARGS) clean 2> /dev/null || true
|
|
|
|
clean-local:
|
|
@rm -f $(OBJS) $(MAINOBJ) $(LIBRUBY_A) $(LIBRUBY_SO) $(LIBRUBY_ALIASES)
|
|
@rm -f ext/extinit.c ext/extinit.@OBJEXT@ dmyext.@OBJEXT@
|
|
@rm -f $(PROGRAM) miniruby$(EXEEXT)
|
|
|
|
clean: clean-ext clean-local
|
|
|
|
distclean-ext:
|
|
@-$(MINIRUBY) $(srcdir)/ext/extmk.rb $(EXTMK_ARGS) distclean 2> /dev/null || true
|
|
|
|
distclean-local: clean-local
|
|
@rm -f @MAKEFILES@ config.h rbconfig.rb
|
|
@rm -f ext/config.cache config.cache config.log config.status
|
|
@rm -f *~ core *.core gmon.out y.tab.c y.output ruby.imp
|
|
|
|
distclean: distclean-ext distclean-local
|
|
|
|
realclean: distclean
|
|
@rm -f parse.c
|
|
@rm -f lex.c
|
|
|
|
test: miniruby$(EXEEXT) rbconfig.rb $(PROGRAM) PHONY
|
|
@./miniruby$(EXEEXT) $(srcdir)/rubytest.rb
|
|
|
|
test-all:
|
|
$(RUNRUBY) -C "$(srcdir)/test" runner.rb --runner=$(TESTUI) $(TESTS)
|
|
|
|
extconf:
|
|
$(MINIRUBY) -run -e mkdir -- -p "$(EXTCONFDIR)"
|
|
$(RUNRUBY) -C "$(EXTCONFDIR)" $(EXTCONF) $(EXTCONFARGS)
|
|
|
|
rbconfig.rb: $(srcdir)/mkconfig.rb config.status $(PREP)
|
|
@$(MINIRUBY) $(srcdir)/mkconfig.rb rbconfig.rb
|
|
|
|
fake.rb: Makefile
|
|
@echo ' \
|
|
class Object; \
|
|
CROSS_COMPILING = RUBY_PLATFORM; \
|
|
remove_const :RUBY_PLATFORM; \
|
|
remove_const :RUBY_VERSION; \
|
|
RUBY_PLATFORM = "@arch@"; \
|
|
RUBY_VERSION = "@MAJOR@.@MINOR@.@TEENY@"; \
|
|
end; \
|
|
if RUBY_PLATFORM =~ /mswin|bccwin|mingw/; \
|
|
class File; \
|
|
remove_const :ALT_SEPARATOR; \
|
|
ALT_SEPARATOR = "\\"; \
|
|
end; \
|
|
end; \
|
|
' > $@
|
|
|
|
Makefile: $(srcdir)/Makefile.in
|
|
|
|
.PRECIOUS: @MAKEFILES@
|
|
|
|
.PHONY: test install install-nodoc install-doc
|
|
|
|
PHONY:
|
|
|
|
@MAKEFILES@: config.status
|
|
MAKE=$(MAKE) $(SHELL) ./config.status
|
|
@{ \
|
|
echo "all:; -@rm -f conftest.mk"; \
|
|
echo "conftest.mk: .force; @echo AUTO_REMAKE"; \
|
|
echo ".force:"; \
|
|
} > conftest.mk || exit 1; \
|
|
$(MAKE) -f conftest.mk | grep '^AUTO_REMAKE$$' >/dev/null 2>&1 || \
|
|
{ echo "Makefile updated, restart."; exit 1; }
|
|
|
|
config.status: $(srcdir)/configure
|
|
MINIRUBY="$(MINIRUBY)" $(SHELL) ./config.status --recheck
|
|
|
|
$(srcdir)/configure: $(srcdir)/configure.in
|
|
cd $(srcdir) && $(AUTOCONF)
|
|
|
|
.c.@OBJEXT@:
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
|
|
|
|
lex.c: keywords
|
|
@-rm -f $@
|
|
gperf -p -j1 -i 1 -g -o -t -N rb_reserved_word -k1,3,$$ $? > $@ || \
|
|
cp "$(srcdir)/$@" .
|
|
|
|
.y.c:
|
|
$(YACC) $<
|
|
sed '/^#/s|y\.tab\.c|$@|' y.tab.c > $@
|
|
rm -f y.tab.c
|
|
|
|
ext/extinit.@OBJEXT@: ext/extinit.c $(SETUP)
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) @OUTFLAG@$@ -c ext/extinit.c
|
|
|
|
acosh.@OBJEXT@: $(srcdir)/missing/acosh.c
|
|
$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/acosh.c
|
|
|
|
alloca.@OBJEXT@: $(srcdir)/missing/alloca.c
|
|
$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/alloca.c
|
|
|
|
crypt.@OBJEXT@: $(srcdir)/missing/crypt.c
|
|
$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/crypt.c
|
|
|
|
dup2.@OBJEXT@: $(srcdir)/missing/dup2.c
|
|
$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/dup2.c
|
|
|
|
fileblocks.@OBJEXT@: $(srcdir)/missing/fileblocks.c
|
|
$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/fileblocks.c
|
|
|
|
finite.@OBJEXT@: $(srcdir)/missing/finite.c
|
|
$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/finite.c
|
|
|
|
flock.@OBJEXT@: $(srcdir)/missing/flock.c
|
|
$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/flock.c
|
|
|
|
isinf.@OBJEXT@: $(srcdir)/missing/isinf.c
|
|
$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/isinf.c
|
|
|
|
isnan.@OBJEXT@: $(srcdir)/missing/isnan.c
|
|
$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/isnan.c
|
|
|
|
fnmatch.@OBJEXT@: $(srcdir)/missing/fnmatch.c
|
|
$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/fnmatch.c
|
|
|
|
memcmp.@OBJEXT@: $(srcdir)/missing/memcmp.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/memcmp.c
|
|
|
|
memmove.@OBJEXT@: $(srcdir)/missing/memmove.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/memmove.c
|
|
|
|
mkdir.@OBJEXT@: $(srcdir)/missing/mkdir.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/mkdir.c
|
|
|
|
vsnprintf.@OBJEXT@: $(srcdir)/missing/vsnprintf.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/vsnprintf.c
|
|
|
|
strcasecmp.@OBJEXT@: $(srcdir)/missing/strcasecmp.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/strcasecmp.c
|
|
|
|
strncasecmp.@OBJEXT@: $(srcdir)/missing/strncasecmp.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/strncasecmp.c
|
|
|
|
strchr.@OBJEXT@: $(srcdir)/missing/strchr.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/strchr.c
|
|
|
|
strerror.@OBJEXT@: $(srcdir)/missing/strerror.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/strerror.c
|
|
|
|
strftime.@OBJEXT@: $(srcdir)/missing/strftime.c
|
|
$(CC) -I. $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/strftime.c
|
|
|
|
strstr.@OBJEXT@: $(srcdir)/missing/strstr.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/strstr.c
|
|
|
|
strtol.@OBJEXT@: $(srcdir)/missing/strtol.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/strtol.c
|
|
|
|
strtoul.@OBJEXT@: $(srcdir)/missing/strtoul.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/strtoul.c
|
|
|
|
x68.@OBJEXT@: $(srcdir)/missing/x68.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/x68.c
|
|
|
|
os2.@OBJEXT@: $(srcdir)/missing/os2.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/os2.c
|
|
|
|
dl_os2.@OBJEXT@: $(srcdir)/missing/dl_os2.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c $(srcdir)/missing/dl_os2.c
|
|
|
|
win32.@OBJEXT@: $(srcdir)/win32/win32.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -I$(srcdir)/win32 -c $(srcdir)/win32/win32.c
|
|
|
|
# Prevent GNU make v3 from overflowing arg limit on SysV.
|
|
.NOEXPORT:
|
|
###
|
|
array.@OBJEXT@: array.c ruby.h config.h defines.h intern.h missing.h \
|
|
util.h st.h
|
|
bignum.@OBJEXT@: bignum.c ruby.h config.h defines.h intern.h missing.h
|
|
class.@OBJEXT@: class.c ruby.h config.h defines.h intern.h missing.h \
|
|
rubysig.h node.h st.h
|
|
compar.@OBJEXT@: compar.c ruby.h config.h defines.h intern.h missing.h
|
|
dir.@OBJEXT@: dir.c ruby.h config.h defines.h intern.h missing.h util.h
|
|
dln.@OBJEXT@: dln.c ruby.h config.h defines.h intern.h missing.h dln.h
|
|
dmyext.@OBJEXT@: dmyext.c
|
|
enum.@OBJEXT@: enum.c ruby.h config.h defines.h intern.h missing.h node.h \
|
|
util.h
|
|
error.@OBJEXT@: error.c ruby.h config.h defines.h intern.h missing.h \
|
|
env.h version.h st.h
|
|
eval.@OBJEXT@: eval.c ruby.h config.h defines.h intern.h missing.h node.h \
|
|
env.h util.h rubysig.h st.h dln.h
|
|
file.@OBJEXT@: file.c ruby.h config.h defines.h intern.h missing.h \
|
|
rubyio.h rubysig.h util.h dln.h
|
|
gc.@OBJEXT@: gc.c ruby.h config.h defines.h intern.h missing.h rubysig.h \
|
|
st.h node.h env.h re.h regex.h
|
|
hash.@OBJEXT@: hash.c ruby.h config.h defines.h intern.h missing.h st.h \
|
|
util.h rubysig.h
|
|
inits.@OBJEXT@: inits.c ruby.h config.h defines.h intern.h missing.h
|
|
io.@OBJEXT@: io.c ruby.h config.h defines.h intern.h missing.h rubyio.h \
|
|
rubysig.h env.h util.h
|
|
main.@OBJEXT@: main.c ruby.h config.h defines.h intern.h missing.h
|
|
marshal.@OBJEXT@: marshal.c ruby.h config.h defines.h intern.h missing.h \
|
|
rubyio.h st.h util.h
|
|
math.@OBJEXT@: math.c ruby.h config.h defines.h intern.h missing.h
|
|
numeric.@OBJEXT@: numeric.c ruby.h config.h defines.h intern.h missing.h
|
|
object.@OBJEXT@: object.c ruby.h config.h defines.h intern.h missing.h \
|
|
st.h util.h
|
|
pack.@OBJEXT@: pack.c ruby.h config.h defines.h intern.h missing.h
|
|
parse.@OBJEXT@: parse.c ruby.h config.h defines.h intern.h missing.h \
|
|
env.h node.h st.h regex.h util.h lex.c
|
|
prec.@OBJEXT@: prec.c ruby.h config.h defines.h intern.h missing.h
|
|
process.@OBJEXT@: process.c ruby.h config.h defines.h intern.h missing.h \
|
|
rubysig.h st.h
|
|
random.@OBJEXT@: random.c ruby.h config.h defines.h intern.h missing.h
|
|
range.@OBJEXT@: range.c ruby.h config.h defines.h intern.h missing.h
|
|
re.@OBJEXT@: re.c ruby.h config.h defines.h intern.h missing.h re.h \
|
|
regex.h
|
|
regex.@OBJEXT@: regex.c config.h regex.h
|
|
ruby.@OBJEXT@: ruby.c ruby.h config.h defines.h intern.h missing.h dln.h \
|
|
node.h util.h
|
|
signal.@OBJEXT@: signal.c ruby.h config.h defines.h intern.h missing.h \
|
|
rubysig.h
|
|
sprintf.@OBJEXT@: sprintf.c ruby.h config.h defines.h intern.h missing.h
|
|
st.@OBJEXT@: st.c config.h st.h
|
|
string.@OBJEXT@: string.c ruby.h config.h defines.h intern.h missing.h \
|
|
re.h regex.h
|
|
struct.@OBJEXT@: struct.c ruby.h config.h defines.h intern.h missing.h
|
|
time.@OBJEXT@: time.c ruby.h config.h defines.h intern.h missing.h
|
|
util.@OBJEXT@: util.c ruby.h config.h defines.h intern.h missing.h util.h
|
|
variable.@OBJEXT@: variable.c ruby.h config.h defines.h intern.h \
|
|
missing.h env.h node.h st.h util.h
|
|
version.@OBJEXT@: version.c ruby.h config.h defines.h intern.h missing.h \
|
|
version.h
|