## Process this file with automake to produce Makefile.in

## We like to use C99 routines when available.  This makes sure that
## __STDC_VERSION__ is set such that libc includes make them available.
AM_CFLAGS = -std=gnu99
ACLOCAL_AMFLAGS = -I ../config

toolexeclib_LTLIBRARIES = libgfortran.la libgfortranbegin.la

libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -lm $(extra_ldflags_libgfortran)

## This should really go in the compiler lib dir, not the system lib dir.
libgfortranbegin_la_SOURCES = fmain.c
libgfortranbegin_la_LDFLAGS = -static

## io.h conflicts with some a system header on some platforms, so
## use -iquote
AM_CPPFLAGS = -iquote$(srcdir)/io

libgfortranincludedir = $(includedir)/gforio

gfor_io_src= \
io/backspace.c \
io/close.c \
io/endfile.c \
io/format.c \
io/inquire.c \
io/list_read.c \
io/lock.c \
io/open.c \
io/read.c \
io/rewind.c \
io/transfer.c \
io/unit.c \
io/unix.c \
io/write.c

gfor_io_headers= \
io/io.h

gfor_helper_src= \
intrinsics/associated.c \
intrinsics/abort.c \
intrinsics/args.c \
intrinsics/bessel.c \
intrinsics/c99_functions.c \
intrinsics/chdir.c \
intrinsics/cpu_time.c \
intrinsics/cshift0.c \
intrinsics/date_and_time.c \
intrinsics/env.c \
intrinsics/erf.c \
intrinsics/eoshift0.c \
intrinsics/eoshift2.c \
intrinsics/etime.c \
intrinsics/exit.c \
intrinsics/flush.c \
intrinsics/fnum.c \
intrinsics/gerror.c \
intrinsics/getcwd.c \
intrinsics/getlog.c \
intrinsics/getXid.c \
intrinsics/hostnm.c \
intrinsics/kill.c \
intrinsics/ierrno.c \
intrinsics/ishftc.c \
intrinsics/link.c \
intrinsics/mvbits.c \
intrinsics/pack_generic.c \
intrinsics/perror.c \
intrinsics/size.c \
intrinsics/sleep.c \
intrinsics/spread_generic.c \
intrinsics/string_intrinsics.c \
intrinsics/system.c \
intrinsics/rand.c \
intrinsics/random.c \
intrinsics/rename.c \
intrinsics/reshape_generic.c \
intrinsics/reshape_packed.c \
intrinsics/selected_int_kind.f90 \
intrinsics/selected_real_kind.f90 \
intrinsics/stat.c \
intrinsics/symlnk.c \
intrinsics/system_clock.c \
intrinsics/time.c \
intrinsics/transpose_generic.c \
intrinsics/umask.c \
intrinsics/unlink.c \
intrinsics/unpack_generic.c \
runtime/in_pack_generic.c \
runtime/in_unpack_generic.c \
runtime/normalize.c

gfor_src= \
runtime/environ.c \
runtime/error.c \
runtime/main.c \
runtime/memory.c \
runtime/pause.c \
runtime/stop.c \
runtime/string.c \
runtime/select.c \
gfortypes.h \
libgfortran.h

i_all_c= \
generated/all_l4.c \
generated/all_l8.c

i_any_c= \
generated/any_l4.c \
generated/any_l8.c

i_count_c= \
generated/count_4_l4.c \
generated/count_8_l4.c \
generated/count_4_l8.c \
generated/count_8_l8.c

i_maxloc0_c= \
generated/maxloc0_4_i4.c \
generated/maxloc0_8_i4.c \
generated/maxloc0_4_i8.c \
generated/maxloc0_8_i8.c \
generated/maxloc0_4_r4.c \
generated/maxloc0_8_r4.c \
generated/maxloc0_4_r8.c \
generated/maxloc0_8_r8.c

i_maxloc1_c= \
generated/maxloc1_4_i4.c \
generated/maxloc1_8_i4.c \
generated/maxloc1_4_i8.c \
generated/maxloc1_8_i8.c \
generated/maxloc1_4_r4.c \
generated/maxloc1_8_r4.c \
generated/maxloc1_4_r8.c \
generated/maxloc1_8_r8.c

i_maxval_c= \
generated/maxval_i4.c \
generated/maxval_i8.c \
generated/maxval_r4.c \
generated/maxval_r8.c

i_minloc0_c= \
generated/minloc0_4_i4.c \
generated/minloc0_8_i4.c \
generated/minloc0_4_i8.c \
generated/minloc0_8_i8.c \
generated/minloc0_4_r4.c \
generated/minloc0_8_r4.c \
generated/minloc0_4_r8.c \
generated/minloc0_8_r8.c

i_minloc1_c= \
generated/minloc1_4_i4.c \
generated/minloc1_8_i4.c \
generated/minloc1_4_i8.c \
generated/minloc1_8_i8.c \
generated/minloc1_4_r4.c \
generated/minloc1_8_r4.c \
generated/minloc1_4_r8.c \
generated/minloc1_8_r8.c

i_minval_c= \
generated/minval_i4.c \
generated/minval_i8.c \
generated/minval_r4.c \
generated/minval_r8.c

i_sum_c= \
generated/sum_i4.c \
generated/sum_i8.c \
generated/sum_r4.c \
generated/sum_r8.c \
generated/sum_c4.c \
generated/sum_c8.c

i_product_c= \
generated/product_i4.c \
generated/product_i8.c \
generated/product_r4.c \
generated/product_r8.c \
generated/product_c4.c \
generated/product_c8.c

i_dotprod_c= \
generated/dotprod_i4.c \
generated/dotprod_i8.c \
generated/dotprod_r4.c \
generated/dotprod_r8.c 

i_dotprodl_c= \
generated/dotprod_l4.c \
generated/dotprod_l8.c

i_dotprodc_c= \
generated/dotprod_c4.c \
generated/dotprod_c8.c

i_matmul_c= \
generated/matmul_i4.c \
generated/matmul_i8.c \
generated/matmul_r4.c \
generated/matmul_r8.c \
generated/matmul_c4.c \
generated/matmul_c8.c

i_matmull_c= \
generated/matmul_l4.c \
generated/matmul_l8.c

i_transpose_c= \
generated/transpose_i4.c \
generated/transpose_i8.c \
generated/transpose_c4.c \
generated/transpose_c8.c

i_shape_c= \
generated/shape_i4.c \
generated/shape_i8.c

i_reshape_c= \
generated/reshape_i4.c \
generated/reshape_i8.c

i_eoshift1_c= \
generated/eoshift1_4.c \
generated/eoshift1_8.c

i_eoshift3_c= \
generated/eoshift3_4.c \
generated/eoshift3_8.c

i_cshift1_c= \
generated/cshift1_4.c \
generated/cshift1_8.c

in_pack_c = \
generated/in_pack_i4.c \
generated/in_pack_i8.c

in_unpack_c = \
generated/in_unpack_i4.c \
generated/in_unpack_i8.c

i_exponent_c = \
generated/exponent_r4.c \
generated/exponent_r8.c

i_fraction_c = \
generated/fraction_r4.c \
generated/fraction_r8.c

i_nearest_c = \
generated/nearest_r4.c \
generated/nearest_r8.c

i_set_exponent_c = \
generated/set_exponent_r4.c \
generated/set_exponent_r8.c

i_pow_c = \
generated/pow_i4_i4.c \
generated/pow_i8_i4.c \
generated/pow_r4_i4.c \
generated/pow_r8_i4.c \
generated/pow_c4_i4.c \
generated/pow_c8_i4.c \
generated/pow_i4_i8.c \
generated/pow_i8_i8.c \
generated/pow_r4_i8.c \
generated/pow_r8_i8.c \
generated/pow_c4_i8.c \
generated/pow_c8_i8.c

m4_files= m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
    m4/any.m4 m4/count.m4 m4/maxloc0.m4 m4/maxloc1.m4 m4/maxval.m4 \
    m4/minloc0.m4 m4/minloc1.m4 m4/minval.m4 m4/product.m4 m4/sum.m4 \
    m4/dotprod.m4 m4/dotprodl.m4 m4/dotprodc.m4 m4/matmul.m4 m4/matmull.m4 \
    m4/ctrig.m4 m4/cexp.m4 m4/chyp.m4 m4/mtype.m4 \
    m4/specific.m4 m4/specific2.m4 m4/head.m4 m4/shape.m4 m4/reshape.m4 \
    m4/transpose.m4 m4/eoshift1.m4 m4/eoshift3.m4 m4/exponent.m4 \
    m4/fraction.m4 m4/nearest.m4 m4/set_exponent.m4 m4/pow.m4

gfor_built_src= $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
    $(i_maxloc1_c) $(i_maxval_c) $(i_minloc0_c) $(i_minloc1_c) $(i_minval_c) \
    $(i_product_c) $(i_sum_c) $(i_dotprod_c) $(i_dotprodl_c) $(i_dotprodc_c) \
    $(i_matmul_c) $(i_matmull_c) $(i_transpose_c) $(i_shape_c) $(i_eoshift1_c) \
    $(i_eoshift3_c) $(i_cshift1_c) $(i_reshape_c) $(in_pack_c) $(in_unpack_c) \
    $(i_exponent_c) $(i_fraction_c) $(i_nearest_c) $(i_set_exponent_c) \
    $(i_pow_c) \
    selected_int_kind.inc selected_real_kind.inc

# We only use these if libm doesn't contain complex math functions.

gfor_math_trig_c= \
generated/trig_c4.c \
generated/trig_c8.c
gfor_math_exp_c= \
generated/exp_c4.c \
generated/exp_c8.c
gfor_math_hyp_c= \
generated/hyp_c4.c \
generated/hyp_c8.c

gfor_math_trig_obj= \
trig_c4.lo \
trig_c8.lo
gfor_math_exp_obj= \
exp_c4.lo \
exp_c8.lo
gfor_math_hyp_obj= \
hyp_c4.lo \
hyp_c8.lo

# Machine generated specifics
gfor_built_specific_src= \
generated/_abs_c4.f90 \
generated/_abs_c8.f90 \
generated/_abs_i4.f90 \
generated/_abs_i8.f90 \
generated/_abs_r4.f90 \
generated/_abs_r8.f90 \
generated/_exp_r4.f90 \
generated/_exp_r8.f90 \
generated/_exp_c4.f90 \
generated/_exp_c8.f90 \
generated/_log_r4.f90 \
generated/_log_r8.f90 \
generated/_log_c4.f90 \
generated/_log_c8.f90 \
generated/_log10_r4.f90 \
generated/_log10_r8.f90 \
generated/_sqrt_r4.f90 \
generated/_sqrt_r8.f90 \
generated/_sqrt_c4.f90 \
generated/_sqrt_c8.f90 \
generated/_asin_r4.f90 \
generated/_asin_r8.f90 \
generated/_acos_r4.f90 \
generated/_acos_r8.f90 \
generated/_atan_r4.f90 \
generated/_atan_r8.f90 \
generated/_sin_r4.f90 \
generated/_sin_r8.f90 \
generated/_sin_c4.f90 \
generated/_sin_c8.f90 \
generated/_cos_r4.f90 \
generated/_cos_r8.f90 \
generated/_cos_c4.f90 \
generated/_cos_c8.f90 \
generated/_tan_r4.f90 \
generated/_tan_r8.f90 \
generated/_sinh_r4.f90 \
generated/_sinh_r8.f90 \
generated/_cosh_r4.f90 \
generated/_cosh_r8.f90 \
generated/_tanh_r4.f90 \
generated/_tanh_r8.f90 \
generated/_conjg_c4.f90 \
generated/_conjg_c8.f90 \
generated/_aint_r4.f90 \
generated/_aint_r8.f90 \
generated/_anint_r4.f90 \
generated/_anint_r8.f90

gfor_built_specific2_src= \
generated/_sign_i4.f90 \
generated/_sign_i8.f90 \
generated/_sign_r4.f90 \
generated/_sign_r8.f90 \
generated/_dim_i4.f90 \
generated/_dim_i8.f90 \
generated/_dim_r4.f90 \
generated/_dim_r8.f90 \
generated/_atan2_r4.f90 \
generated/_atan2_r8.f90 \
generated/_mod_i4.f90 \
generated/_mod_i8.f90 \
generated/_mod_r4.f90 \
generated/_mod_r8.f90
#specific intrinsics requiring manal code
#gfor_specific_c= \
intrinsics/_aimag.c \
intrinsics/_cabs.c \
foo

gfor_specific_src= \
$(gfor_built_specific_src) \
$(gfor_built_specific2_src) \
intrinsics/dprod_r8.f90

gfor_cmath_src= $(gfor_math_trig_c) $(gfor_math_exp_c) $(gfor_math_hyp_c)
gfor_cmath_obj= $(gfor_math_trig_obj) $(gfor_math_exp_obj) \
    $(gfor_math_hyp_obj)

BUILT_SOURCES=$(gfor_built_src) $(gfor_cmath_src) $(gfor_built_specific_src) \
    $(gfor_built_specific2_src)
libgfortran_la_SOURCES = $(gfor_src) $(gfor_built_src) $(gfor_io_src) \
    $(gfor_helper_src) $(gfor_io_headers) $(gfor_specific_src)

EXTRA_libgfortran_la_SOURCES = $(gfor_cmath_src)

libgfortran_la_LIBADD = @MATH_OBJ@
libgfortran_la_DEPENDENCIES = @MATH_OBJ@

I_M4_DEPS=m4/iparm.m4
I_M4_DEPS0=$(I_M4_DEPS) m4/iforeach.m4
I_M4_DEPS1=$(I_M4_DEPS) m4/ifunction.m4

selected_int_kind.inc: $(srcdir)/mk-sik-inc.sh
	$(SHELL) $(srcdir)/mk-sik-inc.sh '$(FCCOMPILE)' > $@

selected_real_kind.inc: $(srcdir)/mk-srk-inc.sh
	$(SHELL) $(srcdir)/mk-srk-inc.sh '$(FCCOMPILE)' > $@

## A 'normal' build shouldn't need to regenerate these
## so we only include them in maintainer mode

if MAINTAINER_MODE
$(i_all_c): m4/all.m4 $(I_M4_DEPS1)
	m4 -Dfile=$@ -I$(srcdir)/m4 all.m4 > $(srcdir)/$@

$(i_any_c): m4/any.m4 $(I_M4_DEPS1)
	m4 -Dfile=$@ -I$(srcdir)/m4 any.m4> $(srcdir)/$@

$(i_count_c): m4/count.m4 $(I_M4_DEPS1)
	m4 -Dfile=$@ -I$(srcdir)/m4 count.m4> $(srcdir)/$@

$(i_maxloc0_c): m4/maxloc0.m4 $(I_M4_DEPS0)
	m4 -Dfile=$@ -I$(srcdir)/m4 maxloc0.m4 > $(srcdir)/$@

$(i_maxloc1_c): m4/maxloc1.m4 $(I_M4_DEPS1)
	m4 -Dfile=$@ -I$(srcdir)/m4 maxloc1.m4 > $(srcdir)/$@

$(i_maxval_c): m4/maxval.m4 $(I_M4_DEPS1)
	m4 -Dfile=$@ -I$(srcdir)/m4 maxval.m4 > $(srcdir)/$@

$(i_minloc0_c): m4/minloc0.m4 $(I_M4_DEPS0)
	m4 -Dfile=$@ -I$(srcdir)/m4 minloc0.m4 > $(srcdir)/$@

$(i_minloc1_c): m4/minloc1.m4 $(I_M4_DEPS1)
	m4 -Dfile=$@ -I$(srcdir)/m4 minloc1.m4 > $(srcdir)/$@

$(i_minval_c): m4/minval.m4 $(I_M4_DEPS1)
	m4 -Dfile=$@ -I$(srcdir)/m4 minval.m4 > $(srcdir)/$@

$(i_product_c): m4/product.m4 $(I_M4_DEPS1)
	m4 -Dfile=$@ -I$(srcdir)/m4 product.m4 > $(srcdir)/$@

$(i_sum_c): m4/sum.m4 $(I_M4_DEPS1)
	m4 -Dfile=$@ -I$(srcdir)/m4 sum.m4 > $(srcdir)/$@

$(i_dotprod_c): m4/dotprod.m4 $(I_M4_DEPS)
	m4 -Dfile=$@ -I$(srcdir)/m4 dotprod.m4 > $(srcdir)/$@

$(i_dotprodl_c): m4/dotprodl.m4 $(I_M4_DEPS)
	m4 -Dfile=$@ -I$(srcdir)/m4 dotprodl.m4 > $(srcdir)/$@

$(i_dotprodc_c): m4/dotprodc.m4 $(I_M4_DEPS)
	m4 -Dfile=$@ -I$(srcdir)/m4 dotprodc.m4 > $(srcdir)/$@

$(i_matmul_c): m4/matmul.m4 $(I_M4_DEPS)
	m4 -Dfile=$@ -I$(srcdir)/m4 matmul.m4 > $(srcdir)/$@

$(i_matmull_c): m4/matmull.m4 $(I_M4_DEPS)
	m4 -Dfile=$@ -I$(srcdir)/m4 matmull.m4 > $(srcdir)/$@

$(i_transpose_c): m4/transpose.m4 $(I_M4_DEPS)
	m4 -Dfile=$@ -I$(srcdir)/m4 transpose.m4 > $(srcdir)/$@

$(i_shape_c): m4/shape.m4 $(I_M4_DEPS)
	m4 -Dfile=$@ -I$(srcdir)/m4 shape.m4 > $(srcdir)/$@

$(i_reshape_c): m4/reshape.m4 $(I_M4_DEPS)
	m4 -Dfile=$@ -I$(srcdir)/m4 reshape.m4 > $(srcdir)/$@

$(i_eoshift1_c): m4/eoshift1.m4 $(I_M4_DEPS)
	m4 -Dfile=$@ -I$(srcdir)/m4 eoshift1.m4 > $(srcdir)/$@

$(i_eoshift3_c): m4/eoshift3.m4 $(I_M4_DEPS)
	m4 -Dfile=$@ -I$(srcdir)/m4 eoshift3.m4 > $(srcdir)/$@

$(i_cshift1_c): m4/cshift1.m4 $(I_M4_DEPS)
	m4 -Dfile=$@ -I$(srcdir)/m4 cshift1.m4 > $(srcdir)/$@

$(in_pack_c): m4/in_pack.m4 $(I_M4_DEPS)
	m4 -Dfile=$@ -I$(srcdir)/m4 in_pack.m4 > $(srcdir)/$@

$(in_unpack_c): m4/in_unpack.m4 $(I_M4_DEPS)
	m4 -Dfile=$@ -I$(srcdir)/m4 in_unpack.m4 > $(srcdir)/$@

$(i_exponent_c): m4/exponent.m4 m4/mtype.m4
	m4 -Dfile=$@ -I$(srcdir)/m4 exponent.m4 > $(srcdir)/$@

$(i_fraction_c): m4/fraction.m4 m4/mtype.m4
	m4 -Dfile=$@ -I$(srcdir)/m4 fraction.m4 > $(srcdir)/$@

$(i_nearest_c): m4/nearest.m4 m4/mtype.m4
	m4 -Dfile=$@ -I$(srcdir)/m4 nearest.m4 > $(srcdir)/$@

$(i_set_exponent_c): m4/set_exponent.m4 m4/mtype.m4
	m4 -Dfile=$@ -I$(srcdir)/m4 set_exponent.m4 > $(srcdir)/$@

$(i_pow_c): m4/pow.m4 $(I_M4_DEPS)
	m4 -Dfile=$@ -I$(srcdir)/m4 pow.m4 > $(srcdir)/$@

$(gfor_math_trig_c): m4/ctrig.m4 m4/mtype.m4
	m4 -Dfile=$@ -I$(srcdir)/m4 ctrig.m4 > $(srcdir)/$@

$(gfor_math_exp_c): m4/cexp.m4 m4/mtype.m4
	m4 -Dfile=$@ -I$(srcdir)/m4 cexp.m4 > $(srcdir)/$@

$(gfor_math_hyp_c): m4/chyp.m4 m4/mtype.m4
	m4 -Dfile=$@ -I$(srcdir)/m4 chyp.m4 > $(srcdir)/$@

$(gfor_built_specific_src): m4/specific.m4 m4/head.m4
	m4 -Dfile=$@ -I$(srcdir)/m4 specific.m4 > $(srcdir)/$@

$(gfor_built_specific2_src): m4/specific2.m4 m4/head.m4
	m4 -Dfile=$@ -I$(srcdir)/m4 specific2.m4 > $(srcdir)/$@
## end of maintainer mode only rules
endif

EXTRA_DIST = $(m4_files)

