#Which compiler
CC=g++

LIB = -L../Lib/MyGSL/Obj -lmygsl 
OBJ = GSL_RandomGen.o BasicMC.o LocalMC.o ExactValues.o ContExactValues.o utilities.o 

all: $(OBJ) gop.o
	$(CC) -o gop $(OBJ) gop.o $(LIB)

ngop: $(OBJ) ngop.o
	$(CC) -o ngop $(OBJ) ngop.o $(LIB)  

GSL_RandomGen.o: ../Src/Rng/GSL_RandomGen.cpp ../Src/Rng/GSL_RandomGen.h
	$(CC) -c ../Src/Rng/GSL_RandomGen.cpp 

BasicMC.o: ../Src/Alg/BasicMC.cpp ../Src/Alg/BasicMC.h ../Src/Der/*.h ../Src/Und/*.h
	$(CC) -c ../Src/Alg/BasicMC.cpp

LocalMC.o: ../Src/Alg/LocalMC.cpp ../Src/Alg/LocalMC.h ../Src/Der/*.h ../Src/Und/*.h ../Src/utilities.h
	$(CC) -c ../Src/Alg/LocalMC.cpp

ExactValues.o: ../Src/Alg/ExactValues.cpp ../Src/Alg/ExactValues.h ../Src/Der/*.h ../Src/Und/*.h  ../Src/utilities.h
	$(CC) -c ../Src/Alg/ExactValues.cpp

ContExactValues.o: ../Src/Alg/ContExactValues.cpp ../Src/Alg/ContExactValues.h ../Src/Der/*.h ../Src/Und/*.h  ../Src/utilities.h
	$(CC) -c ../Src/Alg/ContExactValues.cpp

gop.o: gop.cpp
	$(CC) -c gop.cpp

ngop.o: ngop.cpp
	$(CC) -c ngop.cpp

utilities.o: ../Src/utilities.cpp ../Src/utilities.h
	$(CC) -c ../Src/utilities.cpp

plot:
	gcc extractor.c libg2.a -lm -o extractor

clean:
	rm -f gop ngop *.ps *.o err* *~  *.pdf 

