1#
2# ${R_HOME}/src/library/stats/src/Makefile
3
4pkg = stats
5
6VPATH = @srcdir@
7srcdir = @srcdir@
8top_srcdir = @top_srcdir@
9
10top_builddir = ../../../..
11subdir = src/library/$(pkg)/src
12R_HOME = $(top_builddir)
13## for $(R_HOME)/etc${R_ARCH}/Makeconf
14R_SHARE_DIR = $(R_HOME)/share
15R_INCLUDE_DIR = $(R_HOME)/include
16
17SOURCES_C = init.c kmeans.c \
18  ansari.c bandwidths.c chisqsim.c d2x2xk.c fexact.c kendall.c ks.c \
19  line.c smooth.c \
20  prho.c swilk.c \
21  ksmooth.c loessc.c monoSpl.c isoreg.c Srunmed.c \
22  dblcen.c distance.c hclust-utils.c \
23  nls.c rWishart.c \
24  HoltWinters.c PPsum.c arima.c burg.c filter.c \
25  mAR.c pacf.c starma.c port.c family.c sbart.c \
26  approx.c loglin.c lowess.c massdist.c splines.c lm.c \
27  complete_cases.c cov.c deriv.c fft.c fourier.c model.c optim.c optimize.c \
28  integrate.c random.c distn.c zeroin.c rcont.c influence.c
29
30SOURCES_F = bsplvd.f bvalue.f bvalus.f loessf.f ppr.f qsbart.f \
31  sgram.f sinerp.f sslvrg.f stxwx.f \
32  hclust.f kmns.f \
33  eureka.f stl.f portsrc.f lminfl.f
34DEPENDS = $(SOURCES_C:.c=.d)
35## BUILD_LTO_CHECK_TRUE relies on using the internal BLAS and LAPACK
36OBJECTS = $(SOURCES_C:.c=.o) $(SOURCES_F:.f=.o)
37# need config.h
38PKG_CPPFLAGS = -I../../../include -I$(top_srcdir)/src/include -DHAVE_CONFIG_H
39PKG_CFLAGS = @R_OPENMP_CFLAGS@ $(C_VISIBILITY)
40PKG_FFLAGS = $(F_VISIBILITY)
41
42SHLIB = $(pkg)@SHLIB_EXT@
43
44## <FIXME>
45## We should really add FLIBS to SHLIB_LIBADD, but we need to include
46## the shlib Makeconf at a later stage, and its default value would
47## override our setting.
48PKG_LIBS = @R_OPENMP_CFLAGS@ $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS)
49## </FIXME>
50
51
52all: Makedeps
53	@$(MAKE) shlib
54
55Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
56	@cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
57
58Makedeps: Makefile $(DEPENDS)
59	@cat $(DEPENDS) >> Makefile
60	@touch $@
61
62shlib: $(SHLIB)
63	@$(MKINSTALLDIRS) \
64	  $(top_builddir)/library/$(pkg)/libs@R_ARCH@
65	@$(SHELL) $(top_srcdir)/tools/copy-if-change $(SHLIB) \
66	  $(top_builddir)/library/$(pkg)/libs@R_ARCH@/$(SHLIB)
67
68include $(R_HOME)/etc${R_ARCH}/Makeconf
69include $(top_srcdir)/share/make/shlib.mk
70## override to use LTO for linking with --enable-lto=R
71LTO_FC = @LTO_FC@
72
73## Meeded with i386 gcc 4.5.0 -- PR#14427
74## (SHLIB_FFLAGS is apparently currently unused)
75portsrc_FFLAGS=$(FPICFLAGS) $(SHLIB_FFLAGS) @SAFE_FFLAGS@ $(LTO_FC)
76portsrc.o: portsrc.f
77	$(FC) $(portsrc_FFLAGS) -c $< -o $@
78
79mostlyclean: clean
80clean:
81	@-rm -Rf .libs _libs
82	@-rm -f Makedeps *.d *.o *$(SHLIB_EXT)
83distclean: clean
84	@-rm -f Makefile
85maintainer-clean: distclean
86
87## Automagically generated dependencies:
88