# This makefile creates the cpp example executables on linux using g++
# it requires the AIMMS_SDK_HOME environment variable to be set to the appropriate path
AIMMS_SDK_INCDIR=${AIMMS_SDK_HOME}/cpp/include
AIMMS_SDK_LIBDIR=${AIMMS_SDK_HOME}/cpp/lib
AIMMS_SDK_LIBS=-laimmssdk

all: basic performance callback views pitfalls procedureargs

clean:
	rm -f basic performance callback views pitfalls procedureargs

basic: cpp/basic/basic.cpp
	g++ -I${AIMMS_SDK_INCDIR} $< -Wl,-rpath ${AIMMS_SDK_LIBDIR} -L${AIMMS_SDK_LIBDIR} ${AIMMS_SDK_LIBS} -o $@
  
callback: cpp/callback/callback.cpp
	g++ -I${AIMMS_SDK_INCDIR} $< -Wl,-rpath ${AIMMS_SDK_LIBDIR} -L${AIMMS_SDK_LIBDIR} ${AIMMS_SDK_LIBS} -o $@
	
performance: cpp/performance/performance.cpp
	g++ -I${AIMMS_SDK_INCDIR} $< -Wl,-rpath ${AIMMS_SDK_LIBDIR} -L${AIMMS_SDK_LIBDIR} ${AIMMS_SDK_LIBS} -o $@

pitfalls: cpp/pitfalls/pitfalls.cpp
	g++ -I${AIMMS_SDK_INCDIR} $< -Wl,-rpath ${AIMMS_SDK_LIBDIR} -L${AIMMS_SDK_LIBDIR} ${AIMMS_SDK_LIBS} -o $@

procedureargs: cpp/procedureargs/procedureargs.cpp
	g++ -I${AIMMS_SDK_INCDIR} $< -Wl,-rpath ${AIMMS_SDK_LIBDIR} -L${AIMMS_SDK_LIBDIR} ${AIMMS_SDK_LIBS} -o $@

views: cpp/views/views.cpp
	g++ -I${AIMMS_SDK_INCDIR} $< -Wl,-rpath ${AIMMS_SDK_LIBDIR} -L${AIMMS_SDK_LIBDIR} ${AIMMS_SDK_LIBS} -o $@

