PKG_CXXFLAGS=-I../inst/include/ $(SHLIB_OPENMP_CXXFLAGS)
PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS)

CXX_STD = CXX17

SOURCES = \
    RcppExports.cpp \
    r-exports.cpp \
    rcpp_cv.cpp \
    rcpp_slope.cpp \
    setup_model.cpp \
    slope/clusters.cpp \
    slope/cv.cpp \
    slope/folds.cpp \
    slope/kkt_check.cpp \
    slope/logger.cpp \
    slope/losses/loss.cpp \
    slope/losses/logistic.cpp \
    slope/losses/multinomial.cpp \
    slope/losses/poisson.cpp \
    slope/losses/quadratic.cpp \
    slope/losses/setup_loss.cpp \
    slope/math.cpp \
    slope/normalize.cpp \
    slope/qnorm.cpp \
    slope/regularization_sequence.cpp \
    slope/score.cpp \
    slope/screening.cpp \
    slope/slope.cpp \
    slope/solvers/hybrid.cpp \
    slope/solvers/hybrid_cd.cpp \
    slope/solvers/pgd.cpp \
    slope/solvers/setup_solver.cpp \
    slope/solvers/slope_threshold.cpp \
    slope/sorted_l1_norm.cpp \
    slope/timer.cpp \
    slope/utils.cpp

# Obtain the object files
OBJECTS=$(SOURCES:.cpp=.o)

# Make the shared object
all: $(SHLIB)

# Provide recipe to remove all objects
clean:
	@rm -f $(OBJECTS)
