#
# mingw/mingwex/Makefile.in: This file is part of Mingw runtime.
#
# This makefile requires GNU make.

srcdir = @srcdir@
VPATH = $(srcdir):$(srcdir)/math:$(srcdir)/stdio:$(srcdir)/complex
objdir = .

target_alias = @target_alias@
prefix = @prefix@

program_transform_name = @program_transform_name@
exec_prefix = @exec_prefix@
bindir = @bindir@
libdir = @libdir@
tooldir = $(exec_prefix)/$(target_alias)
datadir = @datadir@
infodir = @infodir@
includedir = @includedir@

SHELL = /bin/sh

INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
mkinstalldirs = $(SHELL) $(srcdir)/../mkinstalldirs
DISTFILES = Makefile.in configure configure.in \
	_Exit.c atoll.c dirent.c feclearexcept.c fegetenv.c \
	fegetexceptflag.c fegetround.c feholdexcept.c feraiseexcept.c \
	fesetenv.c fesetexceptflag.c fesetround.c fetestexcept.c \
	feupdateenv.c fwide.c  getopt.c imaxabs.c imaxdiv.c ldtoa.c \
	lltoa.c lltow.c mbsinit.c mingw-fseek.c sitest.c strtof.c \
	strtoimax.c strtold.c strtoumax.c testwmem.c ulltoa.c ulltow.c \
	wcstof.c wcstoimax.c wcstold.c wcstoumax.c wdirent.c wmemchr.c \
	wmemcmp.c wmemcpy.c wmemmove.c wmemset.c wtoll.c
	
MATH_DISTFILES = \
	acosf.c acosl.c asinf.c asinl.c atan2f.c atan2l.c \
	atanf.c atanl.c cbrt.c cbrtf.c cbrtl.c ceilf.S ceill.S \
	cephes_emath.h cephes_emath.c cephes_mconf.h \
	copysign.S copysignf.S copysignl.S cosf.S coshf.c coshl.c cosl.S \
	exp2.S exp2f.S exp2l.S expf.c expl.c fabs.c fabsf.c fabsl.c \
	fdim.c fdimf.c fdiml.c floorf.S floorl.S fma.S fmaf.S fmal.c \
	fmax.c fmaxf.c fmaxl.c fmin.c fminf.c fminl.c fmodf.c \
	fmodl.c fp_consts.c fp_consts.h fp_constsf.c  fp_constsl.c \
	fpclassify.c fpclassifyf.c fpclassifyl.c \
	frexpf.c frexpl.S fucom.c hypotf.c hypotl.c ilogb.S ilogbf.S \
	ilogbl.S isnan.c isnanf.c isnanl.c ldexpf.c ldexpl.c \
	lgamma.c lgammaf.c lgammal.c llrint.c \
	llrintf.c llrintl.c llround.c llroundf.c llroundl.c \
	log10f.S log10l.S log1p.S log1pf.S log1pl.S log2.S log2f.S \
	log2l.S logb.c logbf.c logbl.c logf.S logl.S lrint.c lrintf.c \
	lrintl.c lround.c lroundf.c lroundl.c modff.c modfl.c \
	nearbyint.S nearbyintf.S nearbyintl.S nextafterf.c \
	pow.c powf.c powi.c powif.c powil.c powl.c \
	remainder.S remainderf.S remainderl.S remquo.S \
	remquof.S remquol.S rint.c rintf.c rintl.c round.c roundf.c \
	roundl.c scalbn.S scalbnf.S scalbnl.S s_erf.c sf_erf.c \
	signbit.c signbitf.c signbitl.c sinf.S sinhf.c sinhl.c sinl.S \
	sqrtf.c sqrtl.c tanf.S tanhf.c tanhl.c tanl.S tgamma.c \
	tgammaf.c tgammal.c trunc.c truncf.c truncl.c

STDIO_DISTFILES = \
	snprintf.c snwprintf.c vsnprintf.c vsnwprintf.c \
	vfscanf.c vfwscanf.c vscanf.c vsscanf.c vswscanf.c vwscanf.c

COMPLEX_DISTFILES = \
	cabs.c cacos.c cacosh.c casin.c casinh.c catan.c catanh.c \
	ccos.c ccosh.c cexp.c cimag.c clog.c cpow.c cproj.c creal.c \
	csin.c csinh.c csqrt.c ctan.c ctanh.c

CC = @CC@
# FIXME: Which is it, CC or CC_FOR_TARGET?
CC_FOR_TARGET = $(CC)
AS_FOR_TARGET = $(AS)
CFLAGS = @CFLAGS@ -Wall
CXXFLAGS = @CXXFLAGS@
OPTFLAGS= -fomit-frame-pointer

# compiling with Cygwin?
MNO_CYGWIN = @MNO_CYGWIN@

W32API_INCLUDE = @W32API_INCLUDE@
INCLUDES = -I$(srcdir) -I$(srcdir)/../include \
  -nostdinc -nostdinc++ \
  -iwithprefixbefore include
ALL_CFLAGS = $(CFLAGS) $(OPTFLAGS) $(W32API_INCLUDE) $(INCLUDES) $(MNO_CYGWIN)
ALL_CXXFLAGS = $(CXXFLAGS) $(OPTFLAGS) $(W32API_INCLUDE) $(INCLUDES) $(MNO_CYGWIN)

AS = @AS@
AR = @AR@
LD = @LD@
AR_FLAGS = rcv
RANLIB = @RANLIB@
DLLTOOL = @DLLTOOL@
DLLTOOLFLAGS = 
DLLTOOL_FOR_TARGET = $(DLLTOOL)
DLLTOOL_FLAGS = --as $(AS_FOR_TARGET)

LIBMINGWEX_A = libmingwex.a

Q8_OBJS = \
	fwide.o imaxabs.o imaxdiv.o mbsinit.o \
	strtoimax.o strtoumax.o wcstoimax.o wcstoumax.o \
	wmemchr.o wmemcmp.o wmemcpy.o wmemmove.o wmemset.o
STDLIB_OBJS = \
	strtold.o wcstold.o
STDLIB_STUB_OBJS = \
	lltoa.o ulltoa.o \
	lltow.o ulltow.o \
	atoll.o wtoll.o \
	strtof.o wcstof.o \
	_Exit.o
STDIO_OBJS = \
	snprintf.o  vsnprintf.o snwprintf.o vsnwprintf.o \
	vfscanf.o vfwscanf.o vscanf.o vsscanf.o vswscanf.o vwscanf.o
MATH_OBJS = \
	acosf.o acosl.o asinf.o asinl.o atan2f.o atan2l.o \
	atanf.o atanl.o cbrt.o cbrtf.o cbrtl.o ceilf.o ceill.o \
	cephes_emath.o \
	copysign.o copysignf.o copysignl.o cosf.o coshf.o coshl.o cosl.o \
	exp2.o exp2f.o exp2l.o expf.o expl.o fabs.o fabsf.o fabsl.o \
	fdim.o fdimf.o fdiml.o floorf.o floorl.o fma.o fmaf.o fmal.o \
	fmax.o fmaxf.o fmaxl.o fmin.o fminf.o fminl.o fmodf.o \
	fmodl.o fp_consts.o fp_constsf.o fp_constsl.o \
	fpclassify.o fpclassifyf.o fpclassifyl.o \
	frexpf.o frexpl.o fucom.o hypotf.o hypotl.o ilogb.o ilogbf.o \
	ilogbl.o isnan.o isnanf.o isnanl.o ldexpf.o ldexpl.o \
	lgamma.o lgammaf.o lgammal.o llrint.o \
	llrintf.o llrintl.o llround.o llroundf.o llroundl.o \
	log10f.o log10l.o log1p.o log1pf.o log1pl.o log2.o log2f.o \
	log2l.o logb.o logbf.o logbl.o logf.o logl.o lrint.o lrintf.o \
	lrintl.o lround.o lroundf.o lroundl.o modff.o modfl.o \
	nearbyint.o nearbyintf.o nearbyintl.o nextafterf.o \
	pow.o powf.o powi.o powif.o powil.o powl.o \
	remainder.o remainderf.o remainderl.o remquo.o \
	remquof.o remquol.o rint.o rintf.o rintl.o round.o roundf.o \
	roundl.o scalbn.o scalbnf.o scalbnl.o s_erf.o sf_erf.o \
	signbit.o signbitf.o signbitl.o sinf.o sinhf.o sinhl.o sinl.o \
	sqrtf.o sqrtl.o tanf.o tanhf.o tanhl.o tanl.o tgamma.o \
	tgammaf.o tgammal.o trunc.o truncf.o truncl.o
FENV_OBJS = fesetround.o  fegetround.o \
	fegetenv.o fesetenv.o feupdateenv.o \
	feclearexcept.o feholdexcept.o fegetexceptflag.o \
	feraiseexcept.o fetestexcept.o fesetexceptflag.o
POSIX_OBJS = \
	dirent.o wdirent.o getopt.o
REPLACE_OBJS = \
	mingw-fseek.o
COMPLEX_OBJS = \
	cabs.o cacos.o cacosh.o casin.o casinh.o catan.o catanh.o \
	ccos.o ccosh.o cexp.o cimag.o clog.o cpow.o cproj.o creal.o \
	csin.o csinh.o csqrt.o ctan.o ctanh.o

LIB_OBJS = $(Q8_OBJS) $(STDLIB_OBJS) $(STDLIB_STUB_OBJS) \
	$(STDIO_OBJS) $(MATH_OBJS)  $(FENV_OBJS) \
	$(POSIX_OBJS) $(REPLACE_OBJS) $(COMPLEX_OBJS)

LIBS = $(LIBMINGWEX_A)
DLLS = 

all: $(LIBMINGWEX_A)

$(LIBMINGWEX_A): $(LIB_OBJS)
	rm -f $(LIBMINGWEX_A)
	$(AR) $(ARFLAGS) $@ $(LIB_OBJS)
	$(RANLIB) $@


Makefile: Makefile.in config.status configure
	$(SHELL) config.status

config.status: configure
	$(SHELL) config.status --recheck

info:

info-html:

install-info: info

install: all
	$(mkinstalldirs) $(inst_libdir)
	for i in $(LIBS); do \
		$(INSTALL_DATA) $$i $(inst_libdir)/$$i ; \
	done

clean:
	-rm -f $(LIB_OBJS)  $(LIBMINGWEX_A)

distclean:
	-rm -f *.o *.a *~ core a.out
	-rm -f config.cache config.status config.log 
	-rm -f Makefile
.c.o:
	$(CC) -c  $(ALL_CFLAGS) $< -o $@
.S.o:
	$(CC) -c  $< -o $@
.s.o:
	$(CC) -c  $< -o $@


#
# Dependancies
#
wdirent.o: $(srcdir)/dirent.c $(srcdir)/wdirent.c
strtold.o: $(srcdir)/strtold.c $(srcdir)/math/cephes_emath.h
wcstold.o: $(srcdir)/wcstold.c $(srcdir)/math/cephes_emath.h


dist:
	mkdir $(distdir)/mingwex
	chmod 755 $(distdir)/mingwex
	@for i in $(DISTFILES); do\
		cp -p $(srcdir)/$$i $(distdir)/mingwex/$$i ; \
	done
	mkdir $(distdir)/mingwex/math
	chmod 755 $(distdir)/mingwex/math
	@for i in $(MATH_DISTFILES); do\
		cp -p $(srcdir)/math/$$i $(distdir)/mingwex/math/$$i ; \
	done
	mkdir $(distdir)/mingwex/stdio
	chmod 755 $(distdir)/mingwex/stdio
	@for i in $(STDIO_DISTFILES); do\
		cp -p $(srcdir)/stdio/$$i $(distdir)/mingwex/stdio/$$i ; \
	done
	mkdir $(distdir)/mingwex/complex
	chmod 755 $(distdir)/mingwex/complex
	@for i in $(COMPLEX_DISTFILES); do\
		cp -p $(srcdir)/complex/$$i $(distdir)/mingwex/complex/$$i ; \
	done

