# ---------------------------------------------------------------------
# Link options and libraries
# ---------------------------------------------------------------------

gccopt= gcc -O2 -funroll-loops
mgccopt= gcc -O2 -funroll-loops -D_REENTRANT
gccdeb= gcc -ggdb -Wall -pedantic
mgccdeb = gcc -ggdb -D_REENTRANT
pgccdeb= $(PURE) gcc -g -ggdb
mpgccdeb= $(PURE) gcc -g -ggdb -D_REENTRANT
gccsmart= gcc -O2 -DMEM_DEBUG=1 -I$(SMART)
duccreg= cc
duccdeb= cc -g3 -fast -arch ev5
duccopt= cc -fast -arch ev5
sgiccopt= cc -O2 -64 -mips4

gppdeb = g++ $(CCDEB) 
#CCC = $(gccopt)
CCC = $(gccdeb)

CFLAGS=
LINUXLIBS= -lm -lpthread


#LIBS= -L$(XPR) -lxosl -L$(XPR) -lmp-opt -lm
#LIBS= -lm -lsocket -lnsl -lthread -L/usr/local/ilog/cplex65
LIBS= $(LINUXLIBS) 
#LIBS= -lm

#---------------- GUROBI -----------------------------------
houndbabyGRB = /cygdrive/c/gurobi201/win32
kikiGRB = /home/dano/thirdparty/gurobi/gurobi201/linux32
rockGRB = /opt/gurobi/gurobi461/linux64
rockwaldGRB = /opt/gurobi/gurobi451/linux64
fatpuppyGRB = /opt/gurobi/gurobi500/linux64
#GRB = $(rockwaldGRB)
#GRB = $(kikiGRB)
#GRB = $(rockGRB)
#GRBLNFLAGS = -L$(GRB)/lib -lgurobi30
#GRBLNFLAGS = $(GRB)/lib/gurobi30.so  was commented before

GRB = $(fatpuppyGRB)
GRBLNFLAGS = -L$(GRB)/lib -lgurobi50




#---------------- CPLEX ----------------------------------------
houndbabyCPX = /cygdrive/c/ILOG/CPLEX112/lib/x86_windows_vs2008/stat_mda
kikiCPX= /opt/cplex/cplex121/lib/x86_debian4.0_4.1/static_pic
rockyCPX= /opt/cplex/cplex122/cplex/lib/x86-64_sles10_4.1/static_pic
spunkyCPX= /opt/cplex/cplex122/cplex/lib/x86-64_sles10_4.1/static_pic
dondonCPX= /opt/cplex/cplex100/lib/x86-64_RHEL3.0_3.2/static_pic
racepointCPX= /opt/cplex/cplex121/lib/x86-64_sles9.0_3.3/static_pic


#------------------------- true Unix ----------------------------
LIBNAME = libcplex.a 
#------------------------------- cygwin -------------------------
#LIBNAME = cplex112.lib

#CPX = $(houndbabyCPX)
CPX = $(rockyCPX)
#CPX = $(spunkyCPX)
#CPX = $(kikiCPX)
#CPX = $(dondonCPX)
#CPX = $(racepointCPX)

CPXLNFLAGS = $(CPX)/$(LIBNAME) 

#CCCFLAGS = -I$(LPINCDIR) 
CCCFLAGS = 

#------------ LPSOLVER CHOICE MADE HERE ---------------

CCCLNFLAGS = $(GRBLNFLAGS) $(LIBS)
#CCCLNFLAGS = $(CPXLNFLAGS) $(LIBS)



../bin/%.o: %.c
	@echo compiling $*.c with $(CCC) $(CCCFLAGS)
	@$(CCC) $(CCCFLAGS) -c $< -o $@

CSCCORE = ../bin/cscadversary.o ../bin/csccntrl.o ../bin/cscdeterm.o ../bin/cscdual.o ../bin/cscfaults.o ../bin/cscobs.o ../bin/cscinterdict.o ../bin/cscmarkov.o ../bin/cscmultgrad.o ../bin/cscxtras.o ../bin/cscrand.o ../bin/cscgo.o ../bin/cscloop.o ../bin/csclpmaker.o ../bin/cscoptimize.o ../bin/cscrampup.o ../bin/cscprelp.o ../bin/cscrandomloadshed.o ../bin/cscread.o ../bin/cscrec.o ../bin/cscoptscale.o ../bin/cscshedloadlp.o ../bin/cscsimple.o ../bin/cscslim.o ../bin/cscsnaplp.o ../bin/cscstart.o ../bin/cscsummary.o ../bin/cscxplore.o ../bin/cscutil.o ../bin/eqs.o ../bin/gclp.o ../bin/gcplex.o ../bin/gcustom.o ../bin/ggrb.o ../bin/genutil.o ../bin/genalloc.o ../bin/Ggensort.o ../bin/Gio.o ../bin/Gmanageio.o ../bin/Grand.o ../bin/networkspace.o ../bin/networkxtra.o ../bin/prelp.o ../bin/cplexcheck.o ../bin/GLP.o ../bin/zeit.o ../bin/cscsockets.o ../bin/gsock.o 


CSC_VERSIONED = ../bin/cscmain.o ../bin/cscsig.o $(CSCCORE)


csc_versioned: $(CSC_VERSIONED) 
	$(CCC) $(CCCFLAGS) -o ../bin/csc $(CSC_VERSIONED) $(CCCLNFLAGS)


clean:
	rm ../bin/*.o
depend:
	makedepend -- $(CFLAGS) -- $(SOURCES)


# DO NOT DELETE THIS LINE -- make depend depends on it.
