OSQP_LIB_TARGET_DIR=./lib
OSQP_INCLUDE_TARGET_DIR=./include/osqp
OSQP_STATIC_LIB=$(OSQP_LIB_TARGET_DIR)/libosqp.a

OSQP_FLAGS=-DR_LANG=TRUE

PKG_CXXFLAGS=-I$(OSQP_INCLUDE_TARGET_DIR)
PKG_LIBS=-L$(OSQP_LIB_TARGET_DIR) -losqp

ROBJECTS=osqp_solve_interface.o RcppExports.o
OBJECTS=$(ROBJECTS)

CXX_STD=CXX17

.PHONY: all osqp_build

all: $(SHLIB)

$(SHLIB): osqp_build

$(ROBJECTS): osqp_build

osqp_build:
		# Build OSQP static library via Makefile (non-cmake path)
		cd osqp; \
		$(MAKE) all CC="$(CC)" \
		OSQP_FLAGS="$(OSQP_FLAGS)" \
		R_INCLUDE_DIR="$(R_INCLUDE_DIR)" CFLAGS="$(CFLAGS)" \
		CPICFLAGS="$(CPICFLAGS)" ARFLAGS="$(ARFLAGS)" \
		AR="$(AR)" RANLIB="$(RANLIB)" ; \
		$(MAKE) clean
