SHELL = /bin/sh

# V=0 quiet, V=1 verbose. other values don't work. V = 0 Q1 = $(V:1=) Q = $(Q1:0=@) ECHO1 = $(V:1=@:) ECHO = $(ECHO1:0=@echo) NULLCMD = :

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

srcdir = . topdir = /usr/local/include/ruby-2.2//i386-freebsd8/ruby/ hdrdir = /usr/local/include/ruby-2.2/ arch_hdrdir = /usr/local/include/ruby-2.2//i386-freebsd8 PATH_SEPARATOR = : VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby prefix = $(DESTDIR)/usr/local rubysitearchprefix = $(rubylibprefix)/$(sitearch) rubyarchprefix = $(rubylibprefix)/$(arch) rubylibprefix = $(exec_prefix)/lib/ruby exec_prefix = $(prefix) vendorarchhdrdir = $(vendorhdrdir)/$(sitearch) sitearchhdrdir = $(sitehdrdir)/$(sitearch) rubyarchhdrdir = $(rubyhdrdir)/$(arch) vendorhdrdir = $(rubyhdrdir)/vendor_ruby sitehdrdir = $(rubyhdrdir)/site_ruby rubyhdrdir = $(DESTDIR)/usr/local/include/ruby-2.2/ vendorarchdir = $(vendorlibdir)/$(sitearch) vendorlibdir = $(vendordir)/$(ruby_version) vendordir = $(DESTDIR)/usr/local/lib/ruby/vendor_ruby sitearchdir = $(DESTDIR)./.gem.20160630-28867-198hrgz sitelibdir = $(DESTDIR)./.gem.20160630-28867-198hrgz sitedir = $(DESTDIR)/usr/local/lib/ruby/site_ruby rubyarchdir = $(rubylibdir)/$(arch) rubylibdir = $(rubylibprefix)/$(ruby_version) sitearchincludedir = $(includedir)/$(sitearch) archincludedir = $(includedir)/$(arch) sitearchlibdir = $(libdir)/$(sitearch) archlibdir = $(libdir)/$(arch) ridir = $(datarootdir)/$(RI_BASE_NAME) mandir = $(DESTDIR)/usr/local/man localedir = $(datarootdir)/locale libdir = $(exec_prefix)/lib psdir = $(docdir) pdfdir = $(docdir) dvidir = $(docdir) htmldir = $(docdir) infodir = $(DESTDIR)/usr/local/info docdir = $(DESTDIR)/usr/local/share/doc/ruby22 oldincludedir = $(DESTDIR)/usr/include includedir = $(prefix)/include localstatedir = $(DESTDIR)/var sharedstatedir = $(prefix)/com sysconfdir = $(prefix)/etc datadir = $(datarootdir) datarootdir = $(prefix)/share libexecdir = $(exec_prefix)/libexec sbindir = $(exec_prefix)/sbin bindir = $(exec_prefix)/bin archdir = $(rubyarchdir)

CC = cc CXX = c++ LIBRUBY = $(LIBRUBY_SO) LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a LIBRUBYARG_SHARED = -l$(RUBY_SO_NAME) LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static empty = OUTFLAG = -o $(empty) COUTFLAG = -o $(empty)

RUBY_EXTCONF_H = cflags = $(optflags) $(debugflags) $(warnflags) optflags = -O3 -fno-fast-math debugflags = warnflags = -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations CCDLFLAGS = -fPIC CFLAGS = $(CCDLFLAGS) -O2 -pipe -isystem /usr/local/include -fno-strict-aliasing -fPIC -Wall -D_FILE_OFFSET_BITS=64 -D_XOPEN_SOURCE=500 $(ARCH_FLAG) INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir) DEFS = CPPFLAGS = -I/usr/local/include -isystem /usr/local/include $(DEFS) $(cppflags) CXXFLAGS = $(CCDLFLAGS) -O2 -pipe -isystem /usr/local/include -fno-strict-aliasing -isystem /usr/local/include $(ARCH_FLAG) ldflags = -L. -L/usr/local/lib -fstack-protector -rdynamic dldflags =

ARCH_FLAG = DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG) LDSHARED = $(CC) -shared LDSHAREDXX = $(CXX) -shared AR = ar EXEEXT =

RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)22 RUBY_SO_NAME = ruby22 RUBYW_INSTALL_NAME = RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version) RUBYW_BASE_NAME = rubyw RUBY_BASE_NAME = ruby

arch = i386-freebsd8 sitearch = $(arch) ruby_version = 2.2 ruby = $(bindir)/$(RUBY_BASE_NAME)22 RUBY = $(ruby) ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/ruby.h $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/missing.h $(hdrdir)/ruby/intern.h $(hdrdir)/ruby/st.h $(hdrdir)/ruby/subst.h $(arch_hdrdir)/ruby/config.h

RM = rm -f RM_RF = $(RUBY) -run -e rm – -rf RMDIRS = rmdir -p MAKEDIRS = /bin/mkdir -p INSTALL = /usr/bin/install -c INSTALL_PROG = $(INSTALL) -m 0755 INSTALL_DATA = install -m 444 COPY = cp TOUCH = exit >

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

preload =

libpath = . $(libdir) LIBPATH = -L. -L$(libdir) DEFFILE =

CLEANFILES = mkmf.log DISTCLEANFILES = DISTCLEANDIRS =

extout = extout_prefix = target_prefix = LOCAL_LIBS = LIBS = $(LIBRUBYARG_SHARED) -lexecinfo -lcrypt -lm -lpthread -L/usr/local/lib -lc ORIG_SRCS = BZLIB_decompress.c lang.c STEMMER_stem_ISO_8859_1_swedish.c STEMMER_stem_ISO_8859_2_romanian.c STEMMER_stem_UTF_8_finnish.c sort.c store.c stopwords.c STEMMER_stem_UTF_8_portuguese.c r_analysis.c compound_io.c STEMMER_stem_UTF_8_romanian.c STEMMER_stem_UTF_8_italian.c STEMMER_stem_ISO_8859_1_spanish.c STEMMER_stem_UTF_8_danish.c STEMMER_stem_UTF_8_english.c q_term.c index.c BZLIB_crctable.c STEMMER_utilities.c similarity.c scanner_utf8.c STEMMER_stem_ISO_8859_1_portuguese.c q_prefix.c scanner_mb.c term_vectors.c STEMMER_stem_UTF_8_turkish.c mempool.c fs_store.c STEMMER_stem_ISO_8859_1_finnish.c BZLIB_huffman.c q_phrase.c STEMMER_stem_ISO_8859_1_italian.c q_wildcard.c hashset.c BZLIB_compress.c field_index.c ram_store.c STEMMER_stem_ISO_8859_1_dutch.c document.c q_parser.c q_range.c STEMMER_stem_UTF_8_norwegian.c posh.c helper.c STEMMER_stem_UTF_8_swedish.c multimapper.c filter.c scanner.c q_filtered_query.c BZLIB_blocksort.c r_index.c hash.c r_search.c global.c STEMMER_stem_UTF_8_porter.c r_utils.c STEMMER_stem_ISO_8859_1_french.c except.c STEMMER_libstemmer.c r_qparser.c STEMMER_stem_ISO_8859_1_norwegian.c STEMMER_stem_ISO_8859_1_hungarian.c BZLIB_randtable.c analysis.c q_span.c STEMMER_stem_KOI8_R_russian.c r_store.c ferret.c STEMMER_stem_UTF_8_russian.c q_const_score.c STEMMER_stem_UTF_8_hungarian.c bitvector.c STEMMER_stem_ISO_8859_1_english.c BZLIB_bzlib.c STEMMER_stem_UTF_8_dutch.c priorityqueue.c STEMMER_stem_UTF_8_spanish.c array.c STEMMER_stem_ISO_8859_1_porter.c search.c STEMMER_stem_UTF_8_german.c q_boolean.c symbol.c q_fuzzy.c q_multi_term.c q_match_all.c STEMMER_stem_ISO_8859_1_german.c STEMMER_api.c STEMMER_stem_ISO_8859_1_danish.c STEMMER_stem_UTF_8_french.c SRCS = $(ORIG_SRCS) OBJS = BZLIB_decompress.o lang.o STEMMER_stem_ISO_8859_1_swedish.o STEMMER_stem_ISO_8859_2_romanian.o STEMMER_stem_UTF_8_finnish.o sort.o store.o stopwords.o STEMMER_stem_UTF_8_portuguese.o r_analysis.o compound_io.o STEMMER_stem_UTF_8_romanian.o STEMMER_stem_UTF_8_italian.o STEMMER_stem_ISO_8859_1_spanish.o STEMMER_stem_UTF_8_danish.o STEMMER_stem_UTF_8_english.o q_term.o index.o BZLIB_crctable.o STEMMER_utilities.o similarity.o scanner_utf8.o STEMMER_stem_ISO_8859_1_portuguese.o q_prefix.o scanner_mb.o term_vectors.o STEMMER_stem_UTF_8_turkish.o mempool.o fs_store.o STEMMER_stem_ISO_8859_1_finnish.o BZLIB_huffman.o q_phrase.o STEMMER_stem_ISO_8859_1_italian.o q_wildcard.o hashset.o BZLIB_compress.o field_index.o ram_store.o STEMMER_stem_ISO_8859_1_dutch.o document.o q_parser.o q_range.o STEMMER_stem_UTF_8_norwegian.o posh.o helper.o STEMMER_stem_UTF_8_swedish.o multimapper.o filter.o scanner.o q_filtered_query.o BZLIB_blocksort.o r_index.o hash.o r_search.o global.o STEMMER_stem_UTF_8_porter.o r_utils.o STEMMER_stem_ISO_8859_1_french.o except.o STEMMER_libstemmer.o r_qparser.o STEMMER_stem_ISO_8859_1_norwegian.o STEMMER_stem_ISO_8859_1_hungarian.o BZLIB_randtable.o analysis.o q_span.o STEMMER_stem_KOI8_R_russian.o r_store.o ferret.o STEMMER_stem_UTF_8_russian.o q_const_score.o STEMMER_stem_UTF_8_hungarian.o bitvector.o STEMMER_stem_ISO_8859_1_english.o BZLIB_bzlib.o STEMMER_stem_UTF_8_dutch.o priorityqueue.o STEMMER_stem_UTF_8_spanish.o array.o STEMMER_stem_ISO_8859_1_porter.o search.o STEMMER_stem_UTF_8_german.o q_boolean.o symbol.o q_fuzzy.o q_multi_term.o q_match_all.o STEMMER_stem_ISO_8859_1_german.o STEMMER_api.o STEMMER_stem_ISO_8859_1_danish.o STEMMER_stem_UTF_8_french.o HDRS = $(srcdir)/threading.h $(srcdir)/lang.h $(srcdir)/stem_UTF_8_italian.h $(srcdir)/stem_ISO_8859_1_german.h $(srcdir)/stem_UTF_8_swedish.h $(srcdir)/store.h $(srcdir)/stem_UTF_8_turkish.h $(srcdir)/stem_ISO_8859_2_romanian.h $(srcdir)/libstemmer.h $(srcdir)/stem_ISO_8859_1_swedish.h $(srcdir)/index.h $(srcdir)/stem_ISO_8859_1_hungarian.h $(srcdir)/stem_ISO_8859_1_spanish.h $(srcdir)/similarity.h $(srcdir)/internal.h $(srcdir)/stem_ISO_8859_1_danish.h $(srcdir)/stem_UTF_8_hungarian.h $(srcdir)/stem_ISO_8859_1_french.h $(srcdir)/mempool.h $(srcdir)/win32.h $(srcdir)/stem_ISO_8859_1_english.h $(srcdir)/hashset.h $(srcdir)/field_index.h $(srcdir)/stem_UTF_8_dutch.h $(srcdir)/document.h $(srcdir)/bzlib_private.h $(srcdir)/bzlib.h $(srcdir)/posh.h $(srcdir)/helper.h $(srcdir)/stem_ISO_8859_1_finnish.h $(srcdir)/multimapper.h $(srcdir)/stem_KOI8_R_russian.h $(srcdir)/scanner.h $(srcdir)/stem_UTF_8_english.h $(srcdir)/stem_UTF_8_spanish.h $(srcdir)/hash.h $(srcdir)/global.h $(srcdir)/stem_UTF_8_german.h $(srcdir)/stem_UTF_8_french.h $(srcdir)/stem_UTF_8_finnish.h $(srcdir)/stem_ISO_8859_1_dutch.h $(srcdir)/except.h $(srcdir)/config.h $(srcdir)/analysis.h $(srcdir)/stem_ISO_8859_1_porter.h $(srcdir)/ferret.h $(srcdir)/api.h $(srcdir)/stem_UTF_8_portuguese.h $(srcdir)/stem_UTF_8_romanian.h $(srcdir)/modules.h $(srcdir)/bitvector.h $(srcdir)/priorityqueue.h $(srcdir)/array.h $(srcdir)/search.h $(srcdir)/stem_UTF_8_norwegian.h $(srcdir)/stem_ISO_8859_1_portuguese.h $(srcdir)/stem_UTF_8_porter.h $(srcdir)/header.h $(srcdir)/stem_UTF_8_danish.h $(srcdir)/symbol.h $(srcdir)/stem_ISO_8859_1_italian.h $(srcdir)/stem_UTF_8_russian.h $(srcdir)/stem_ISO_8859_1_norwegian.h TARGET = ferret_ext TARGET_NAME = ferret_ext TARGET_ENTRY = Init_$(TARGET_NAME) DLLIB = $(TARGET).so EXTSTATIC = STATIC_LIB =

TIMESTAMP_DIR = . BINDIR = $(bindir) RUBYCOMMONDIR = $(sitedir)$(target_prefix) RUBYLIBDIR = $(sitelibdir)$(target_prefix) RUBYARCHDIR = $(sitearchdir)$(target_prefix) HDRDIR = $(rubyhdrdir)/ruby$(target_prefix) ARCHHDRDIR = $(rubyhdrdir)/$(arch)/ruby$(target_prefix)

TARGET_SO = $(DLLIB) CLEANLIBS = $(TARGET).so CLEANOBJS = *.o *.bak

all: $(DLLIB) static: $(STATIC_LIB) .PHONY: all install static install-so install-rb .PHONY: clean clean-so clean-static clean-rb

clean-static
clean-rb-default
clean-rb
clean-so

clean: clean-so clean-static clean-rb-default clean-rb

-$(Q)$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time
distclean-rb-default
distclean-rb
distclean-so
distclean-static

distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb

-$(Q)$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
-$(Q)$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
-$(Q)$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true

realclean: distclean install: install-so install-rb

install-so: $(DLLIB) $(TIMESTAMP_DIR)/.RUBYARCHDIR.time

$(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
clean-static

-$(Q)$(RM) $(STATIC_LIB)

install-rb: pre-install-rb install-rb-default install-rb-default: pre-install-rb-default pre-install-rb: Makefile pre-install-rb-default: Makefile pre-install-rb-default:

@$(NULLCMD)

$(TIMESTAMP_DIR)/.RUBYARCHDIR.time:

$(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR)
$(Q) $(TOUCH) $@

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

.SUFFIXES: .c .m .cc .mm .cxx .cpp .o .S

.cc.o:

$(ECHO) compiling $(<)
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<

.cc.S:

$(ECHO) translating $(<)
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $<

.mm.o:

$(ECHO) compiling $(<)
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<

.mm.S:

$(ECHO) translating $(<)
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $<

.cxx.o:

$(ECHO) compiling $(<)
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<

.cxx.S:

$(ECHO) translating $(<)
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $<

.cpp.o:

$(ECHO) compiling $(<)
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<

.cpp.S:

$(ECHO) translating $(<)
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $<

.c.o:

$(ECHO) compiling $(<)
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<

.c.S:

$(ECHO) translating $(<)
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $<

.m.o:

$(ECHO) compiling $(<)
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<

.m.S:

$(ECHO) translating $(<)
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $<

$(DLLIB): $(OBJS) Makefile

$(ECHO) linking shared-object $(DLLIB)
-$(Q)$(RM) $(@)
$(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)

$(OBJS): $(HDRS) $(ruby_headers)