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

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

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

include $(top_builddir)/Makeconf

## <NOTE>
## All functions/subroutines to be called via .C() or .Fortran() must
## also have an entry in the appropriate table/array in
## @file{../main/registration.c} in order to be registered with the
## symbol lookup mechanism, i.e., 'pre-dyn.loaded'.
## </NOTE>

SOURCES_C = \
	bakslv.c binning.c \
	cpoly.c cumsum.c \
	fft.c fmin.c integrate.c interv.c \
	lbfgsb.c \
	machar.c maxcol.c \
	pretty.c \
	rcont.c rowsum.c \
	stem.c strsignif.c \
	tabulate.c \
	uncmin.c \
	zeroin.c
SOURCES_F = \
	ch2inv.f chol.f \
	dchdc.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
DEPENDS = $(SOURCES_C:.c=.d)
OBJECTS_BLAS = @USE_EXTERNAL_BLAS_FALSE@ blas.o @COMPILE_FORTRAN_DOUBLE_COMPLEX_FALSE@ cmplxblas.o
OBJECTS = $(SOURCES_C:.c=.o) $(SOURCES_F:.f=.o) \
  @BLAS_SHLIB_FALSE@ $(OBJECTS_BLAS)
HEADERS =

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

@WANT_R_SHLIB_TRUE@ALL_CFLAGS = $(ALL_CFLAGS_LO)
@WANT_R_SHLIB_TRUE@ALL_FFLAGS = $(ALL_FFLAGS_LO)

Rblas_la = libRblas$(DYLIB_EXT)
Rblas_la_LIBADD = @DYLIB_UNDEFINED_ALLOWED_FALSE@ -flat_namespace -undefined suppress

all: Makefile Makedeps R

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

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

R: Makefile
	@$(MAKE) Makedeps
@WANT_R_SHLIB_FALSE@	@$(MAKE) libappl.a
@WANT_R_SHLIB_TRUE@	@$(MAKE) stamp-lo

libappl.a: $(OBJECTS)
	rm -f $@
	$(AR) cr $@ $(OBJECTS)
	$(RANLIB) $@

stamp-lo: $(OBJECTS)
	@touch $@

blas.o: $(top_srcdir)/src/extra/blas/blas.f
	$(F77) $(ALL_FFLAGS) -c $< -o $@
cmplxblas.o: $(top_srcdir)/src/extra/blas/cmplxblas.f
	$(F77) $(ALL_FFLAGS) -c $< -o $@

mostlyclean: clean
clean:
	@-rm -rf .libs _libs
	@-rm -f Makedeps *.d *.o *.a *.lo *.la stamp-lo $(Rblas_la)

distclean: clean
	@-rm -f Makefile
maintainer-clean: distclean

install install-strip uninstall TAGS info dvi check:

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: