MkInclude = ${R_HOME}/etc${R_ARCH}/Makeconf

IEXTLIBS = -ISuiteSparse_config -ICAMD/Include
LEXTLIBS =
E_LIBS = CAMD.a SuiteSparse_config.a
SUBDIRS = CAMD SuiteSparse_config

PKG_CFLAGS = $(SHLIB_OPENMP_CFLAGS) $(IEXTLIBS)
PKG_CXXFLAGS = $(SHLIB_OPENMP_CXXFLAGS) $(IEXTLIBS)
PKG_LIBS = $(E_LIBS) -lm $(SHLIB_OPENMP_CFLAGS)

all : $(SHLIB)

$(SHLIB): $(OBJECTS) sublibraries

sublibraries: $(E_LIBS)

CAMD.a:
	(cd CAMD && \
	    $(MAKE) MAKE="$(MAKE) -f\"$(MkInclude)\" -fMakefile" \
	    CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
	    -f"$(MkInclude)" -fMakefile library)

SuiteSparse_config.a:
	(cd SuiteSparse_config && \
	    $(MAKE) MAKE="$(MAKE) -f\"$(MkInclude)\" -fMakefile" \
	    CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
	    -f"$(MkInclude)" -fMakefile library)

clean: subclean
	@-rm -f *.o

subclean:
	@-rm -f *.a
	@for d in $(SUBDIRS); do \
	  (cd $${d} && $(MAKE) MkInclude="" clean) || exit 0; \
	done

.PHONY: all sublibraries clean subclean
