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