# NOTE: R is overwriting all optimization flags, if you are a dev you can change flags in ~/.R/Makevars 
# NOTE: R package should use POSIX Makefile

CPP_SOURCES = svm/libsvm_runner.cpp  svm/svm_client.cpp  svm/svmlight_runner.cpp  svm/svm_wrapper_module.cpp  svm/two_e_svm_pre.cpp svm/svm_basic.cpp      svm/svm.cpp         svm/svm_utils.cpp        svm/two_e_svm_post.cpp      svm/validator_runner.cpp cec/assignment.cpp         cec/cec.cpp         cec/centroids_assignment.cpp  cec/cluster_custom_function.cpp  cec/kmeanspp_assignment.cpp cec/cec_configuration.cpp  cec/cec_module.cpp  cec/cluster.cpp               cec/hartigan.cpp                 cec/random_assignment.cpp utils/threading.cpp  utils/tinythread.cpp  utils/utils.cpp gng/gng_algorithm.cpp  gng/gng_configuration.cpp  gng/gng_module.cpp  gng/gng_server.cpp 
SOURCES = $(CPP_SOURCES) svmlight/svm_common.c  svmlight/svm_hideo.c  svmlight/svm_learn.c

INCLUDES = -I ../inst/include/svmlight -I ../inst/include/utils -I ../inst/include  -I ../inst/include/cec -I ../inst/include/gng -I ../inst/include/svm

SVMLIGHT_OBJECTS = svmlight/svm_common.o svmlight/svm_hideo.o svmlight/svm_learn.o
COMPILED_LIBRARIES_OBJECTS = $(SVMLIGHT_OBJECTS)
OBJECTS = $(CPP_SOURCES:.cpp=.o) $(COMPILED_LIBRARIES_OBJECTS)

DEBUG = -DNDEBUG_GMUM
PREPROCESS = $(DEBUG) -DRCPP_INTERFACE -DARMA_64BIT_WORD -DBOOST_DISABLE_ASSERTS

R_LIBS = `$(R_HOME)/bin/R CMD config --ldflags` 
LAPACK_LIBS = `$(R_HOME)/bin/R CMD config LAPACK_LIBS`
BLAS_LIBS = `$(R_HOME)/bin/R CMD config BLAS_LIBS`

# Do not delete R_CPPFLAGS, it will break tests
PKG_CPPFLAGS = $(GCC_STD) $(PREPROCESS) $(R_CPPFLAGS) $(INCLUDES) -pthread
PKG_CXXFLAGS = --std=c++0x
PKG_LIBS = $(LAPACK_LIBS) $(BLAS_LIBS) $(R_LIBS) $(FLIBS)
