
## include OpenMP

PKG_CXXFLAGS= -I"../inst/include"  -I"./leidenalg/igraph-R" -I"./leidenalg/include" $(SHLIB_OPENMP_CXXFLAGS) 

PKGB_PATH=`echo 'library(igraph); cat(system.file("libs", package="igraph"))' \
      | ${R_HOME}/bin/R --vanilla --slave`


PKG_LIBS=-L/usr/lib/ -L"." -lpthread -lstdc++ -lleidenalg -lm `$(R_HOME)/bin/Rscript -e "Rcpp:::LdFlags()"` $(LAPACK_LIBS) $(BLAS_LIBS) $(FLIBS) $(SHLIB_OPENMP_CXXFLAGS) $(PKGB_PATH)/igraph.so
CXX_STD = CXX11
MkInclude = $(R_HOME)/etc${R_ARCH}/Makeconf

#.PHONY: all sublibs

#OBJECTS = $(.cpp=.o)
SUBDIRS = leidenalg
SUBLIBS = leidenalg.a

IGRAPH_LIB = $(PKGB_PATH)/igraph.so

all: $(SHLIB) 
	if [ "$(OS)" != "Windows_NT" ] && [ `uname -s` = 'Darwin' ]; then install_name_tool -id '@rpath/igraph.so' $(IGRAPH_LIB); fi 

$(SHLIB): $(OBJECTS) sublibs
sublibs: sublibraries

sublibraries: 
	@for d in $(SUBDIRS); do \
          (cd $${d} && CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" MAKE="$(MAKE) -f \"$(MkInclude)\" -f Makefile" $(MAKE) -f "$(MkInclude)" -f Makefile lib) || exit 1; \
        done

clean: subclean
	@-rm -f *.o $(SHLIB)

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