#-*- 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