mirror of
https://github.com/ruby/ruby.git
synced 2026-08-24 23:47:07 +08:00
Adding `ruby` to `PREP` causes the following circular dependencies because `PREP` is used as a prerequisite by some targets required to build `ruby` target itself. ``` make: Circular .rbconfig.time <- ruby dependency dropped. make: Circular builtin_binary.inc <- ruby dependency dropped. make: Circular ext/extinit.c <- ruby dependency dropped. make: Circular ruby <- ruby dependency dropped. ``` Adding a new Make variable like `EXTPREP` only for exts may be also reasonable, but it would introduce another complexity into our build system. `-bundle_loader` doesn't care that link-time and run-time loader executables are different as long as bound symbols are provided, so it's ok to resolve from miniruby to simplify our build.
89 lines
2.0 KiB
Makefile
89 lines
2.0 KiB
Makefile
V = 0
|
|
V0 = $(V:0=)
|
|
Q1 = $(V:1=)
|
|
Q = $(Q1:0=@)
|
|
ECHO1 = $(V:1=@@NULLCMD@)
|
|
ECHO = $(ECHO1:0=@echo)
|
|
|
|
encsrcdir = @srcdir@
|
|
topdir = .
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
libdir = @libdir@
|
|
top_srcdir = $(encsrcdir:/enc=)
|
|
srcdir = $(top_srcdir)
|
|
tooldir = $(top_srcdir)/tool
|
|
arch = @arch@
|
|
EXTOUT = @EXTOUT@
|
|
hdrdir = $(srcdir)/include
|
|
arch_hdrdir = $(EXTOUT)/include/$(arch)
|
|
ENCSODIR = $(EXTOUT)/$(arch)/enc
|
|
TRANSSODIR = $(ENCSODIR)/trans
|
|
DLEXT = @DLEXT@
|
|
OBJEXT = @OBJEXT@
|
|
LIBEXT = @LIBEXT@
|
|
EXEEXT = @EXEEXT@
|
|
TIMESTAMPDIR = $(EXTOUT)/.timestamp
|
|
ENC_TRANS_D = $(TIMESTAMPDIR)/.enc-trans.time
|
|
ENC_TRANS_SO_D = $(TIMESTAMPDIR)/.enc-trans.so.time
|
|
|
|
BUILTIN_ENCS = enc/ascii.c enc/us_ascii.c\
|
|
enc/unicode.c enc/utf_8.c
|
|
|
|
BUILTIN_TRANSES = enc/trans/newline.trans
|
|
|
|
RUBY_SO_NAME = @RUBY_SO_NAME@
|
|
LIBRUBY = @LIBRUBY@
|
|
LIBRUBYARG_SHARED = @LIBRUBYARG_SHARED@
|
|
LIBRUBYARG_STATIC = $(LIBRUBYARG_SHARED)
|
|
BUILTRUBY = $(topdir)/miniruby$(EXEEXT)
|
|
|
|
empty =
|
|
AR = @AR@
|
|
CC = @CC@
|
|
ARFLAGS = @ARFLAGS@$(empty)
|
|
RANLIB = @RANLIB@
|
|
OUTFLAG = @OUTFLAG@$(empty)
|
|
COUTFLAG = @COUTFLAG@$(empty)
|
|
CFLAGS = $(CCDLFLAGS) @CFLAGS@ @ARCH_FLAG@
|
|
cflags = @cflags@
|
|
optflags = @optflags@
|
|
debugflags = @debugflags@
|
|
warnflags = @warnflags@
|
|
CCDLFLAGS = @CCDLFLAGS@
|
|
INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir) -I$(top_srcdir)
|
|
DEFS = @DEFS@
|
|
CPPFLAGS = @CPPFLAGS@ -DONIG_ENC_REGISTER=rb_enc_register
|
|
LDFLAGS = @LDFLAGS@
|
|
LDSHARED = @LDSHARED@
|
|
ldflags = $(LDFLAGS)
|
|
dldflags = @DLDFLAGS@
|
|
extdldflags = @EXTDLDFLAGS@
|
|
archflag = @ARCH_FLAG@
|
|
DLDFLAGS = $(ldflags) $(dldflags) $(extdldflags) $(archflag)
|
|
RUBY = $(MINIRUBY)
|
|
TARGET_NAME_ = $(@F) # BSD make seems unable to deal with @F with substitution
|
|
TARGET_NAME = $(TARGET_NAME_:.@DLEXT@=)
|
|
TARGET_ENTRY = @EXPORT_PREFIX@Init_$(TARGET_NAME)
|
|
|
|
WORKDIRS = @WORKDIRS@
|
|
|
|
NULLCMD = @NULLCMD@
|
|
RM = @RM@
|
|
RMDIR = @RMDIR@
|
|
RMDIRS = @RMDIRS@
|
|
MAKEDIRS = @MAKEDIRS@
|
|
|
|
.SUFFIXES: .trans
|
|
|
|
all:
|
|
|
|
make-workdir:
|
|
$(Q)$(MAKEDIRS) $(WORKDIRS)
|
|
|
|
clean:
|
|
|
|
distclean: clean
|
|
$(Q)$(RM) enc.mk
|
|
realclean: distclean clean-srcs
|