#-*- Makefile -*-
include ../../gnuwin32/MkRules

CFLAGS = -O3 -Wall -pedantic $(EOPTS)
ifdef DEBUG
 CFLAGS += $(G_FLAG)
 DLLFLAGS =
else
 DLLFLAGS = -s
endif

.PHONY: cpy test

all: shared

static:
	$(MAKE) -f Makefile.win cpy
	$(MAKE) -f Makefile.win makeMakedeps
	$(MAKE) -f Makefile.win libRmath.a

shared: static
	$(MAKE) -f Makefile.win Rmath.dll

implib: libRmath.dll.a

cpy: stamp-src

stamp-src: $(SOURCES_NMATH)
	$(CP) -p ../*.c .
	touch $@

ifdef USE_IMPLIBS
test: test-static.exe
else
test: test-static.exe test.exe
endif


## see R-admin for alternatives
test.exe: test.c
	$(CC) -I../../include -DRMATH_DLL -o $@ $< -L. Rmath.dll
	./$@
test-static.exe: test.c
	$(CC) -I../../include -o $@ $< -L. libRmath.a
	./$@

check: distclean
	@rm -f check.log
	@if test -n "${TEST_MC_CORES}"; then \
	  echo "using ${TEST_MC_CORES} cores" > check.log; \
	  $(MAKE) -f Makefile.win -j ${TEST_MC_CORES} all >> check.log 2>&1; \
	  $(MAKE) -f Makefile.win test >> check.log 2>&1; \
	else \
	  $(MAKE) -f Makefile.win all test > check.log 2>&1; \
	fi
	@$(ECHO) "check output can be found in src/nmath/standalone/check.log"

clean:
	@$(RM) $(SOURCES_NMATH) *.o *.d *.def Makedeps stamp-src
distclean: clean
	@$(RM) *.a Rmath.dll test*.exe check.log

DEFS = -DHAVE_CONFIG_H -DMATHLIB_STANDALONE
CPPFLAGS = -I.. -I../../include $(DEFS)

SOURCES_NMATH = \
	mlutils.c \
	d1mach.c i1mach.c \
	fmax2.c fmin2.c fprec.c fround.c ftrunc.c \
	sign.c fsign.c \
	imax2.c imin2.c \
	chebyshev.c log1p.c lgammacor.c gammalims.c stirlerr.c bd0.c \
	gamma.c lgamma.c gamma_cody.c beta.c lbeta.c polygamma.c cospi.c \
	bessel_i.c bessel_j.c bessel_k.c bessel_y.c \
	choose.c \
	snorm.c sexp.c \
	dgamma.c pgamma.c qgamma.c rgamma.c \
	dbeta.c pbeta.c qbeta.c rbeta.c \
	dunif.c punif.c qunif.c runif.c \
	dnorm.c pnorm.c qnorm.c rnorm.c \
	dlnorm.c plnorm.c qlnorm.c rlnorm.c \
	df.c pf.c qf.c rf.c dnf.c \
	dt.c pt.c qt.c rt.c dnt.c \
	dchisq.c pchisq.c qchisq.c rchisq.c rnchisq.c \
	dbinom.c pbinom.c qbinom.c rbinom.c \
	rmultinom.c \
	dcauchy.c pcauchy.c qcauchy.c rcauchy.c \
	dexp.c pexp.c qexp.c rexp.c \
	dgeom.c pgeom.c qgeom.c rgeom.c \
	dhyper.c phyper.c qhyper.c rhyper.c \
	dnbinom.c pnbinom.c qnbinom.c rnbinom.c \
	dpois.c ppois.c qpois.c rpois.c \
	dweibull.c pweibull.c qweibull.c rweibull.c \
	dlogis.c plogis.c qlogis.c rlogis.c \
	dnchisq.c pnchisq.c qnchisq.c \
	dnbeta.c pnbeta.c qnbeta.c \
	pnf.c pnt.c qnf.c qnt.c \
	ptukey.c qtukey.c \
	toms708.c wilcox.c \
	signrank.c
DEPENDS = $(SOURCES_NMATH:.c=.d)

libRmath.a: sunif.o $(SOURCES_NMATH:.c=.o)
Rmath.def: sunif.o $(SOURCES_NMATH:.c=.o)
	$(ECHO) EXPORTS > $@
	$(NM) $^ | $(SED) -n $(SYMPAT) >> $@
Rmath.dll: libRmath.a Rmath.def
	$(DLL) $(DLLFLAGS) --shared -o $@ Rmath.def $^
libRmath.dll.a: Rmath.def

# Dependencies
makeMakedeps: $(DEPENDS)
	@$(RM) Makedeps
	@cat $(DEPENDS) >> Makedeps

-include Makedeps
