CXX       = clang++
CXX_FLAGS = -std=c++11 -O2 -DNDEBUG 

CXX_INCS  = -I$(COPT_HOME)/include -I$(COPT_HOME)/include/coptcpp_inc
CXX_LIBS  = -L$(COPT_HOME)/lib -lcopt_cpp

CXX_EXAMPLE = lp_ex1 socp_ex1 qp_ex1 qcp_ex1 iis_ex1 sdp_ex1 feasrelax_ex1 cb_ex1

all: $(CXX_EXAMPLE)

lp_ex1: lp_ex1.cpp
	$(CXX) $(CXX_FLAGS) $(CXX_INCS) -o lp_ex1 lp_ex1.cpp $(CXX_LIBS)

socp_ex1: socp_ex1.cpp
	$(CXX) $(CXX_FLAGS) $(CXX_INCS) -o socp_ex1 socp_ex1.cpp $(CXX_LIBS)

qp_ex1: qp_ex1.cpp
	$(CXX) $(CXX_FLAGS) $(CXX_INCS) -o qp_ex1 qp_ex1.cpp $(CXX_LIBS)

qcp_ex1: qcp_ex1.cpp
	$(CXX) $(CXX_FLAGS) $(CXX_INCS) -o qcp_ex1 qcp_ex1.cpp $(CXX_LIBS)

iis_ex1: iis_ex1.cpp
	$(CXX) $(CXX_FLAGS) $(CXX_INCS) -o iis_ex1 iis_ex1.cpp $(CXX_LIBS)

sdp_ex1: sdp_ex1.cpp
	$(CXX) $(CXX_FLAGS) $(CXX_INCS) -o sdp_ex1 sdp_ex1.cpp $(CXX_LIBS)

feasrelax_ex1: feasrelax_ex1.cpp
	$(CXX) $(CXX_FLAGS) $(CXX_INCS) -o feasrelax_ex1 feasrelax_ex1.cpp $(CXX_LIBS)

cb_ex1: cb_ex1.cpp
	$(CXX) $(CXX_FLAGS) $(CXX_INCS) -o cb_ex1 cb_ex1.cpp $(CXX_LIBS)

clean:
	rm -f $(CXX_EXAMPLE)
