##
## ${R_HOME}/src/appl/Makefile

VPATH = @srcdir@
srcdir = @srcdir@
top_srcdir = @top_srcdir@

top_builddir = ../..
subdir = src/appl

include $(top_builddir)/Makeconf

## All functions/subroutines to be called via .C() or .Fortran() must
## also have an entry in `./ROUTINES' in order to be ``pre-dyn.loaded'';
## see `../unix/dynload.c'.

SOURCES_C = \
	Rsock.c \
	approx.c \
	bakslv.c binning.c \
	chisqsim.c chull.c cpoly.c cumsum.c \
	distance.c \
	fft.c fmin.c fortran.c \
	lbfgsb.c loglin.c lowess.c \
	machar.c maxcol.c massdist.c \
	pretty.c \
	rowsum.c \
	sock.c splines.c stem.c strsignif.c \
	tabulate.c \
	uncmin.c \
	zeroin.c
SOURCES_F = \
	ch2inv.f chol.f \
	dpbfa.f dpbsl.f dpoco.f dpodi.f dpofa.f dposl.f dqrdc.f \
	dqrdc2.f dqrls.f dqrsl.f dqrutl.f dsvdc.f dtrco.f dtrsl.f \
	eigen.f \
	lminfl.f
DEPENDS = $(SOURCES_C:.c=.d)
OBJECTS = $(SOURCES_C:.c=.o) $(SOURCES_F:.f=.o) $(BLAS)
HEADERS = Rsock.h sock.h

distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
DISTFILES = COPYRIGHT COPYRIGHT.ftn README ROUTINES lowess.doc \
	Makefile.in Makefile.win \
	$(HEADERS) \
	$(SOURCES_C) \
	$(SOURCES_F) \
	blas.f

noinst_LIBRARIES = libappl.a
libappl_a_SOURCES = $(SOURCES)
libappl_a_OBJECTS = $(OBJECTS)

## FIXME:
## We most likely will not want a seperate shared library.
## If we have a final decision, remove libappl.la target.
## </FIXME>
noinst_LTLIBRARIES = libappl.la
libappl_la_SOURCES = $(SOURCES)
libappl_la_OBJECTS = $(OBJECTS:.o=.lo)
@USE_LIBTOOL_TRUE@libappl_la_LDFLAGS = -avoid-version -rpath $(Rexeclibdir)

all: Makefile Makedeps R

Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(SOURCES_C)
	@cd $(top_builddir) && \
	  CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= \
	  $(SHELL) ./config.status

Makedeps: Makefile $(DEPENDS)
	@cat $(DEPENDS) >> Makefile
	@touch $@

R: Makefile
	@$(MAKE) Makedeps
	@$(MAKE) $(noinst_LIBRARIES) 
@WANT_R_SHLIB_TRUE@	@$(MAKE) stamp-lo

libappl.a: $(libappl_a_OBJECTS)
	$(AR) cr $@ $(libappl_a_OBJECTS)
	$(RANLIB) $@

stamp-lo: $(libappl_la_OBJECTS)
	@touch $@
libappl.la: stamp-lo
	$(SHLIB_LINK) -o $@ $(libappl_la_LDFLAGS) $(libappl_la_OBJECTS)

mostlyclean: clean
clean:
	@-rm -rf .libs _libs
	@-rm -f Makedeps *.d *.o *.a *.lo *.la stamp-lo
distclean: clean
	@-rm -f Makefile
maintainer-clean: distclean

distdir: $(DISTFILES)
	@for f in $(DISTFILES); do \
	  test -f $(distdir)/$${f} \
	    || ln $(srcdir)/$${f} $(distdir)/$${f} 2>/dev/null \
	    || cp -p $(srcdir)/$${f} $(distdir)/$${f}; \
	done

## Automagically generated dependencies: