зеркало из https://github.com/github/ruby.git
176 строки
4.0 KiB
Makefile
176 строки
4.0 KiB
Makefile
SHELL = /bin/sh
|
|
|
|
#### Start of system configuration section. ####
|
|
|
|
srcdir = @srcdir@
|
|
VPATH = $(srcdir):$(srcdir)/missing
|
|
|
|
CC = @CC@
|
|
YACC = bison -y
|
|
PURIFY =
|
|
AUTOCONF = autoconf
|
|
@SET_MAKE@
|
|
MKFILES = @MAKEFILES@
|
|
|
|
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 =
|
|
RDOCTARGET = @RDOCTARGET@
|
|
|
|
EXTOUT = .ext
|
|
RIDATADIR = $(DESTDIR)$(datadir)/ri/$(MAJOR).$(MINOR)/system
|
|
|
|
OUTFLAG = -o
|
|
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@
|
|
|
|
#### 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@
|
|
|
|
RM = rm -f
|
|
NM = @NM@
|
|
AR = @AR@
|
|
ARFLAGS = rcu
|
|
RANLIB = @RANLIB@
|
|
|
|
OBJEXT = @OBJEXT@
|
|
|
|
EXTOBJS =
|
|
DLDOBJS = $(DMYEXT)
|
|
|
|
MAINOBJ = main.$(OBJEXT)
|
|
|
|
MANTYPE = @MANTYPE@
|
|
|
|
#### End of variables
|
|
|
|
all:
|
|
|
|
.DEFAULT: all
|
|
|
|
# Prevent GNU make v3 from overflowing arg limit on SysV.
|
|
.NOEXPORT:
|
|
|
|
miniruby$(EXEEXT):
|
|
@$(RM) $@
|
|
$(PURIFY) $(CC) $(MAINOBJ) $(LIBRUBY_A) $(LIBS) $(OUTFLAG)$@ $(LDFLAGS) $(MAINLIBS)
|
|
|
|
$(PROGRAM):
|
|
@$(RM) $@
|
|
$(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINLIBS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(LIBS) $(OUTFLAG)$@
|
|
|
|
# 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):
|
|
@$(RM) $@
|
|
$(AR) $(ARFLAGS) $@ $(OBJS) $(DMYEXT)
|
|
@-$(RANLIB) $@ 2> /dev/null || true
|
|
|
|
$(LIBRUBY_SO):
|
|
$(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(SOLIBS) $(OUTFLAG)$@
|
|
@-$(MINIRUBY) -e 'ARGV.each{|link| File.delete link if File.exist? link; \
|
|
File.symlink "$(LIBRUBY_SO)", link}' \
|
|
$(LIBRUBY_ALIASES) || true
|
|
|
|
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
|
|
|
|
$(MKFILES): config.status $(srcdir)/common.mk
|
|
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)
|
|
|
|
lex.c: keywords
|
|
@-$(RM) $@
|
|
gperf -p -j1 -i 1 -g -o -t -N rb_reserved_word -k1,3,$$ $? > $@ || \
|
|
cp "$(srcdir)/$@" .
|
|
|
|
.y.c:
|
|
$(YACC) $(YFLAGS) $<
|
|
sed '/^#/s|y\.tab\.c|$@|' y.tab.c > $@
|
|
$(RM) y.tab.c
|
|
|
|
.c.@OBJEXT@:
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -c $<
|
|
|
|
clean-local::
|
|
@$(RM) ext/extinit.c ext/extinit.$(OBJEXT)
|
|
|
|
distclean-local::
|
|
@$(RM) ext/config.cache $(RBCONFIG)
|
|
|
|
ext/extinit.$(OBJEXT): ext/extinit.c $(SETUP)
|
|
$(CC) $(CFLAGS) $(XCFLAGS) $(CPPFLAGS) -o$@ -c ext/extinit.c
|