[#43103] 浮動小数点を比較するには — wada toshiki <wada-ts@...>

お世話になります。

21 messages 2007/01/11
[#43105] Re: 浮動小数点を比較するには — NISHIMATSU Takeshi <t_nissie@...> 2007/01/11

> Rubyレシピブック(P290)で 比較する数値の差を Float::EPSILON と比較する方法があり

[ruby-list:43089] Re: 1.9SVN HEADで拡張ライブラリがインストールされない?

From: okkez <okkez000@...>
Date: 2007-01-03 07:53:21 UTC
List: ruby-list #43089
okkezです。

07/01/03 に Nobuyoshi Nakada<nobu@ruby-lang.org> さんは書きました:
>
> ext/以下のMakefileで、小さ目のものを見せてもらえますか。stringioあたりなど。
>

stringioのMakefileです。よろしくお願いします。
ext/stringio/Makefile:

--- ここから

SHELL = /bin/sh

#### Start of system configuration section. ####

srcdir = $(hdrdir)/ext/stringio
topdir = ../..
hdrdir = $(topdir)/.
VPATH = $(srcdir):$(topdir):$(hdrdir)
exec_prefix = $(prefix)
prefix = $(DESTDIR)/home/kenji/all-ruby/ruby-1.9.0
datadir = $(prefix)/share
libdir = $(exec_prefix)/lib
libexecdir = $(exec_prefix)/libexec
infodir = $(prefix)/info
localstatedir = $(prefix)/var
mandir = $(prefix)/man
sharedstatedir = $(prefix)/com
sitelibdir = $(sitedir)/$(ruby_version)
sitedir = $(prefix)/lib/ruby/site_ruby
sitearchdir = $(sitelibdir)/$(sitearch)
oldincludedir = $(DESTDIR)/usr/include
sbindir = $(exec_prefix)/sbin
sysconfdir = $(prefix)/etc
archdir = $(rubylibdir)/$(arch)
bindir = $(exec_prefix)/bin
rubylibdir = $(libdir)/ruby/$(ruby_version)
includedir = $(prefix)/include

CC = gcc
CXX = g++
LIBRUBY = $(LIBRUBY_A)
LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
LIBRUBYARG_SHARED = -Wl,-R -Wl,$(libdir) -L$(libdir) -L.
LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static

RUBY_EXTCONF_H = extconf.h
CFLAGS   =  -fPIC -g -O2
INCFLAGS = -I. -I$(topdir) -I$(hdrdir) -I$(srcdir)
CPPFLAGS = -DRUBY_EXTCONF_H=\"$(RUBY_EXTCONF_H)\"
CXXFLAGS = $(CFLAGS) -g -O2
DLDFLAGS =  -rdynamic -Wl,-export-dynamic
LDSHARED = $(CC) -shared
LDSHAREDXX = $(CXX) -shared
AR = ar
EXEEXT =

RUBY_INSTALL_NAME = ruby
RUBY_SO_NAME = ruby
arch = x86_64-linux
sitearch = x86_64-linux
ruby_version = 1.9
ruby = $(topdir)/miniruby -I'$(topdir)' -I'$(hdrdir)/lib'
RUBY = $(ruby)
RM = rm -f
MAKEDIRS = mkdir -p
INSTALL = /usr/bin/install -c
INSTALL_PROG = $(INSTALL) -m 0755
INSTALL_DATA = $(INSTALL) -m 644
COPY = cp

#### End of system configuration section. ####

preload =

libpath = $(topdir)
LIBPATH =  -L'$(topdir)'
DEFFILE =

CLEANFILES =
DISTCLEANFILES =

extout = $(topdir)/.ext
extout_prefix = $(extout)$(target_prefix)/
target_prefix =
LOCAL_LIBS =
LIBS =   -lpthread -ldl -lcrypt -lm   -lc
SRCS = stringio.c
OBJS = stringio.o
TARGET = stringio
DLLIB = $(TARGET).so
EXTSTATIC =
STATIC_LIB = $(TARGET).a

RUBYCOMMONDIR = $(extout)/common
RUBYLIBDIR    = $(RUBYCOMMONDIR)$(target_prefix)
RUBYARCHDIR   = $(extout)/$(arch)$(target_prefix)

TARGET_SO     = $(RUBYARCHDIR)/$(DLLIB)
CLEANLIBS     = $(RUBYARCHDIR)/$(TARGET).so
$(RUBYARCHDIR)/$(TARGET).il? $(RUBYARCHDIR)/$(TARGET).tds
$(RUBYARCHDIR)/$(TARGET).map
CLEANOBJS     = *.o *.a *.s[ol] *.pdb *.exp *.bak

all:		install
static:		$(STATIC_LIB) install-rb

clean:
		@-$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES)

distclean:	clean
		@-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
		@-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)

realclean:	distclean
install: install-so install-rb

install-so: $(RUBYARCHDIR)
install-so: $(RUBYARCHDIR)/$(DLLIB)
install-rb: pre-install-rb install-rb-default
install-rb-default: pre-install-rb-default
pre-install-rb: Makefile
pre-install-rb-default: Makefile
$(RUBYARCHDIR):
	$(MAKEDIRS) $@

site-install: site-install-so site-install-rb
site-install-so: install-so
site-install-rb: install-rb

.SUFFIXES: .c .m .cc .cxx .cpp .C .o

.cc.o:
	$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<

.cxx.o:
	$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<

.cpp.o:
	$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<

.C.o:
	$(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) -c $<

.c.o:
	$(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) -c $<

$(RUBYARCHDIR)/$(DLLIB): $(OBJS)
	@-$(RM) $(@)
	@-$(MAKEDIRS) $(@D)
	$(LDSHARED) $(DLDFLAGS) $(LIBPATH) -o $@ $(OBJS) $(LOCAL_LIBS) $(LIBS)

$(STATIC_LIB): $(OBJS)
	@-$(RM) $(@)
	$(AR) cru $@ $(OBJS)
	@-ranlib $(DLLIB) 2> /dev/null || true

###
stringio.o: stringio.c $(hdrdir)/ruby.h $(topdir)/config.h \
  $(hdrdir)/defines.h $(hdrdir)/intern.h $(hdrdir)/rubyio.h

--- ここまで

-- 
okkez
okkez000@gmail.com

In This Thread