#SYSTEM  = x86-64_sles10_4.1
SYSTEM  = x86-64_linux
LIBFORMAT = static_pic

OPTIONS = -O3 -pg #-g
COMP = g++ -c

#------------------------------------------------------------
#
# When you adapt this makefile to compile your CPLEX programs
# please copy this makefile and set CPLEXDIR and CONCERTDIR to
# the directories where CPLEX and CONCERT are installed.
#
#------------------------------------------------------------
CPLEXDIR      = /opt/cplex126/cplex
CONCERTDIR    = /opt/cplex126/concert

# ---------------------------------------------------------------------
# Compiler selection 
# ---------------------------------------------------------------------
CCC = g++ 
#CPPC = g++ $(OPTIONS)

# ---------------------------------------------------------------------
# Compiler options 
# ---------------------------------------------------------------------
#CCOPT = -m32 -O3 -fPIC -fexceptions -DNDEBUG -DIL_STD
CCOPT = -std=c++11 -m64 -O3 -fPIC -fexceptions -DNDEBUG -DIL_STD


# ---------------------------------------------------------------------
# Link options and libraries
# ---------------------------------------------------------------------
CPLEXBINDIR   = $(CPLEXDIR)/bin/$(BINDIST)
CPLEXJARDIR   = $(CPLEXDIR)/lib/cplex.jar
CPLEXLIBDIR   = $(CPLEXDIR)/lib/$(SYSTEM)/$(LIBFORMAT)
CONCERTLIBDIR = $(CONCERTDIR)/lib/$(SYSTEM)/$(LIBFORMAT)

#CCLNFLAGS = -L$(CPLEXLIBDIR) -lilocplex -lcplex -L$(CONCERTLIBDIR) -lconcert -m32 -lm -lpthread 
CCLNFLAGS = -L$(CPLEXLIBDIR) -lilocplex -lcplex -L$(CONCERTLIBDIR) -lconcert -m64 -lm -lpthread

CONCERTINCDIR = $(CONCERTDIR)/include
CPLEXINCDIR   = $(CPLEXDIR)/include
SRCDIR = 
OBJDIR = obj

OBJ_PRJ = Main.o InstanceSet.o Instance.o

CCFLAGS = $(CCOPT) -I$(CPLEXINCDIR) -I$(CONCERTINCDIR)

OBJ_LIB = 

Fpp :  $(OBJ_PRJ) $(OBJ_LIB)
	$(CCC) -pg $(CCFLAGS) -o Fpp $(OBJ_PRJ) $(OBJ_LIB) $(CCLNFLAGS)

Instance.o:  Instance.cpp
	$(CCC) -c $(CCFLAGS) Instance.cpp -o Instance.o

InstanceSet.o:  InstanceSet.cpp
	$(CCC) -c $(CCFLAGS) InstanceSet.cpp -o InstanceSet.o

DR.o:  dr.cpp
	$(CCC) -c $(CCFLAGS) dr.cpp -o dr.o

Main.o:  Main.cpp
	$(CCC) -c $(CCFLAGS) Main.cpp -o Main.o

clean:
	rm -f *.o
	rm -f *~
	rm Fpp