
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)

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

srcdir = .
topdir = /usr/local/include/ruby-2.1
hdrdir = $(topdir)
arch_hdrdir = /usr/local/include/ruby-2.1/x86_64-openbsd
PATH_SEPARATOR = :
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
prefix = $(DESTDIR)/usr/local
rubysitearchprefix = $(rubylibprefix)/$(sitearch)
rubyarchprefix = $(rubylibprefix)/$(arch)
rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
exec_prefix = $(prefix)
vendorarchhdrdir = $(vendorhdrdir)/$(sitearch)
sitearchhdrdir = $(sitehdrdir)/$(sitearch)
rubyarchhdrdir = $(rubyhdrdir)/$(arch)
vendorhdrdir = $(rubyhdrdir)/vendor_ruby
sitehdrdir = $(rubyhdrdir)/site_ruby
rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME)
vendorarchdir = $(vendorlibdir)/$(sitearch)
vendorlibdir = $(vendordir)/$(ruby_version)
vendordir = $(rubylibprefix)/vendor_ruby
sitearchdir = $(DESTDIR)./.gem.20150307-15482-51aa09
sitelibdir = $(DESTDIR)./.gem.20150307-15482-51aa09
sitedir = $(rubylibprefix)/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 = $(datarootdir)/doc/$(PACKAGE)
oldincludedir = $(DESTDIR)/usr/include
includedir = $(prefix)/include
localstatedir = $(DESTDIR)/var
sharedstatedir = $(prefix)/com
sysconfdir = $(DESTDIR)/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 = -Wl,-R -Wl,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)
LIBRUBYARG_STATIC = -Wl,-R -Wl,$(libdir) -L$(libdir) -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 = -ggdb3
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
CCDLFLAGS = -fPIC
CFLAGS   = $(CCDLFLAGS) -O2 -pipe -fPIC -Wall -Iinclude -I/usr/local/include $(ARCH_FLAG)
INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
DEFS     = 
CPPFLAGS = -DGSL_VERSION=1.15 -DGSL_0_9_4_LATER -DGSL_1_5_LATER -DGSL_1_4_9_LATER -DGSL_1_0_LATER -DGSL_1_1_LATER -DGSL_1_1_1_LATER -DGSL_1_2_LATER -DGSL_1_3_LATER -DGSL_1_4_LATER -DGSL_1_6_LATER -DGSL_1_8_LATER -DGSL_1_9_LATER -DGSL_1_10_LATER -DGSL_1_11_LATER -DGSL_1_13_LATER -DGSL_1_14_LATER -DGSL_1_15_LATER -DHAVE_RUBY_IO_H -DHAVE_ROUND -DHAVE_GSL_EIGEN_FRANCIS -I./.gem.20150307-15482-51aa09 -I/usr/local/lib/ruby/gems/2.1/gems/narray-0.6.0.4/src -DOPENSSL_NO_STATIC_ENGINE -I/usr/local/include $(DEFS) $(cppflags)
CXXFLAGS = $(CCDLFLAGS) -O2 -pipe $(ARCH_FLAG)
ldflags  = -L. -L/usr/local/lib -fstack-protector -Wl,-E
dldflags = -L/usr/local/lib 
ARCH_FLAG = 
DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
LDSHARED = $(CC) -shared $(CCDLFLAGS)
LDSHAREDXX = $(CXX) -shared $(CCDLFLAGS)
AR = ar
EXEEXT = 

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

arch = x86_64-openbsd
sitearch = $(arch)
ruby_version = 2.1
ruby = $(bindir)/ruby21
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 = mkdir -p
INSTALL = /usr/obj/gsl-1.16.0.3-ruby21/bin/install -c  
INSTALL_PROG = $(INSTALL) -m 0755
INSTALL_DATA = /usr/obj/gsl-1.16.0.3-ruby21/bin/install -c  -m 644
COPY = cp
TOUCH = exit >

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

preload = 

libpath = . $(libdir) ./.gem.20150307-15482-51aa09 /usr/local/lib/ruby/gems/2.1/gems/narray-0.6.0.4/src
LIBPATH =  -L. -L$(libdir) -Wl,-R$(libdir) -L./.gem.20150307-15482-51aa09 -L/usr/local/lib/ruby/gems/2.1/gems/narray-0.6.0.4/src -Wl,-R/usr/local/lib/ruby/gems/2.1/gems/narray-0.6.0.4/src
DEFFILE = 

CLEANFILES = mkmf.log
DISTCLEANFILES = 
DISTCLEANDIRS = 

extout = 
extout_prefix = 
target_prefix = /gsl
LOCAL_LIBS =  -L/usr/local/lib -lgsl -lgslcblas -lm
LIBS = $(LIBRUBYARG_SHARED) -lgsl  -pthread -lgmp -lm   -lc
ORIG_SRCS = alf.c array.c array_complex.c blas.c blas1.c blas2.c blas3.c block.c block_source.c bspline.c bundle.c cdf.c cheb.c combination.c common.c complex.c const.c const_additional.c cqp.c deriv.c dht.c diff.c dirac.c eigen.c error.c fcmp.c fft.c fit.c fresnel.c function.c geometry.c graph.c gsl.c gsl_narray.c histogram.c histogram2d.c histogram3d.c histogram3d_source.c histogram_find.c histogram_oper.c ieee.c integration.c interp.c jacobi.c linalg.c linalg_complex.c math.c matrix.c matrix_complex.c matrix_double.c matrix_int.c matrix_source.c min.c monte.c multifit.c multimin.c multimin_fsdf.c multiroots.c multiset.c ndlinear.c nmf.c nmf_wrap.c ntuple.c odeiv.c ool.c oper_complex_source.c permutation.c poly.c poly2.c poly_source.c qrng.c randist.c rational.c rng.c root.c sf.c sf_airy.c sf_bessel.c sf_clausen.c sf_coulomb.c sf_coupling.c sf_dawson.c sf_debye.c sf_dilog.c sf_elementary.c sf_ellint.c sf_elljac.c sf_erfc.c sf_exp.c sf_expint.c sf_fermi_dirac.c sf_gamma.c sf_gegenbauer.c sf_hyperg.c sf_laguerre.c sf_lambert.c sf_legendre.c sf_log.c sf_mathieu.c sf_power.c sf_psi.c sf_synchrotron.c sf_transport.c sf_trigonometric.c sf_zeta.c signal.c siman.c sort.c spline.c stats.c sum.c tamu_anova.c tensor.c tensor_source.c vector.c vector_complex.c vector_double.c vector_int.c vector_source.c wavelet.c
SRCS = $(ORIG_SRCS) alf.c array.c array_complex.c blas.c blas1.c blas2.c blas3.c block.c bspline.c bundle.c cdf.c cheb.c combination.c common.c complex.c const.c const_additional.c cqp.c deriv.c dht.c diff.c dirac.c eigen.c error.c fcmp.c fft.c fit.c fresnel.c function.c geometry.c graph.c gsl.c gsl_narray.c histogram.c histogram2d.c histogram3d.c histogram3d_source.c histogram_find.c histogram_oper.c ieee.c integration.c interp.c jacobi.c linalg.c linalg_complex.c math.c matrix.c matrix_complex.c matrix_double.c matrix_int.c min.c monte.c multifit.c multimin.c multimin_fsdf.c multiroots.c multiset.c ndlinear.c nmf.c nmf_wrap.c ntuple.c odeiv.c ool.c oper_complex_source.c permutation.c poly.c poly2.c qrng.c randist.c rational.c rng.c root.c sf.c sf_airy.c sf_bessel.c sf_clausen.c sf_coulomb.c sf_coupling.c sf_dawson.c sf_debye.c sf_dilog.c sf_elementary.c sf_ellint.c sf_elljac.c sf_erfc.c sf_exp.c sf_expint.c sf_fermi_dirac.c sf_gamma.c sf_gegenbauer.c sf_hyperg.c sf_laguerre.c sf_lambert.c sf_legendre.c sf_log.c sf_mathieu.c sf_power.c sf_psi.c sf_synchrotron.c sf_transport.c sf_trigonometric.c sf_zeta.c signal.c siman.c sort.c spline.c stats.c sum.c tamu_anova.c tensor.c vector.c vector_complex.c vector_double.c vector_int.c wavelet.c
OBJS = alf.o array.o array_complex.o blas.o blas1.o blas2.o blas3.o block.o bspline.o bundle.o cdf.o cheb.o combination.o common.o complex.o const.o const_additional.o cqp.o deriv.o dht.o diff.o dirac.o eigen.o error.o fcmp.o fft.o fit.o fresnel.o function.o geometry.o graph.o gsl.o gsl_narray.o histogram.o histogram2d.o histogram3d.o histogram3d_source.o histogram_find.o histogram_oper.o ieee.o integration.o interp.o jacobi.o linalg.o linalg_complex.o math.o matrix.o matrix_complex.o matrix_double.o matrix_int.o min.o monte.o multifit.o multimin.o multimin_fsdf.o multiroots.o multiset.o ndlinear.o nmf.o nmf_wrap.o ntuple.o odeiv.o ool.o oper_complex_source.o permutation.o poly.o poly2.o qrng.o randist.o rational.o rng.o root.o sf.o sf_airy.o sf_bessel.o sf_clausen.o sf_coulomb.o sf_coupling.o sf_dawson.o sf_debye.o sf_dilog.o sf_elementary.o sf_ellint.o sf_elljac.o sf_erfc.o sf_exp.o sf_expint.o sf_fermi_dirac.o sf_gamma.o sf_gegenbauer.o sf_hyperg.o sf_laguerre.o sf_lambert.o sf_legendre.o sf_log.o sf_mathieu.o sf_power.o sf_psi.o sf_synchrotron.o sf_transport.o sf_trigonometric.o sf_zeta.o signal.o siman.o sort.o spline.o stats.o sum.o tamu_anova.o tensor.o vector.o vector_complex.o vector_double.o vector_int.o wavelet.o
HDRS = 
TARGET = gsl_native
TARGET_NAME = gsl_native
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.-.gsl.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:
	$(ECHO) installing default gsl_native libraries
$(TIMESTAMP_DIR)/.RUBYARCHDIR.-.gsl.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 .C .o

.cc.o:
	$(ECHO) compiling $(<)
	$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<

.mm.o:
	$(ECHO) compiling $(<)
	$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<

.cxx.o:
	$(ECHO) compiling $(<)
	$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<

.cpp.o:
	$(ECHO) compiling $(<)
	$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<

.C.o:
	$(ECHO) compiling $(<)
	$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $<

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

.m.o:
	$(ECHO) compiling $(<)
	$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $<

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



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