The R Project SVN R-packages

Rev

Rev 2162 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

#
pkg = Matrix

PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS)
include SOURCES_C.mkf

## zherk.f and lsame.f are part of BLAS, but not of R's BLAS sources
ifeq (, $(strip $(BLAS_LIBS)))
SOURCES_BLAS = zherk.f lsame.f
else
SOURCES_BLAS =
endif

## zpotrf.f and zpotf2.f are part of LAPACK, but not of R's LAPACK sources
ifeq (, $(findstring -lRlapack, $(LAPACK_LIBS)))
SOURCES_LAPACK =
else
SOURCES_LAPACK = zpotf2.f zpotrf.f 
endif

SOURCES_F = $(SOURCES_BLAS) $(SOURCES_LAPACK)

OBJECTS = $(SOURCES_C:.c=.o) $(SOURCES_F:.f=.o)
SHLIB = $(pkg)$(SHLIB_EXT)
SUBDIRS = CHOLMOD UMFPACK COLAMD CCOLAMD AMD Metis LDL
SUBLIBS = $(SUBDIRS:=.a)
SUBSTAMP = $(SUBDIRS:=.stamp)

$(SHLIB): $(OBJECTS) $(SUBLIBS)
    $(SHLIB_LINK) -o $@ $(OBJECTS) $(SUBLIBS) $(ALL_LIBS)

all: $(SHLIB)

mostlyclean: clean

$(SUBLIBS): $(SUBSTAMP)
    @for d in $(SUBDIRS); do \
      (cd $${d} && MkInclude=$(R_HOME)/etc/Makeconf $(MAKE) lib) || exit 1; \
      touch $${d}.stamp; \
    done

$(SUBSTAMP):
    touch $(SUBSTAMP)

clean:
    @-rm -rf .libs _libs
    @-rm -f *.o *.so *.a $(SUBSTAMP)
    @for d in $(SUBDIRS); do \
      (cd $${d} && $(MAKE) clean) || exit 1; \
      rm -f $${d}.stamp; \
    done

include DEPS.mkf