# Makefile pour compiler le code d'advection-diffusion
# Code issu du bureau d'etudes Volumes Finis du departement hydraulique de l'ENSEEIHT
# IMFT - Service Cosinus
# A. Pedrono & H. Neau
#
# E. courcelle. Pour eos => Utiliser l'environnement suivant:
# module load intel/17.0.4 intelmpi/5.1.3.210 visit/vbatch-2.10.2
# Le module visit definit la variable d'environnement VISIT_DIR
# 
#

# On Eos, BEFORE calling make, you can initialize the environment with:
# module purge
# module load intel/17.0.4 intelmpi/5.1.3.210
#
# On Eos, comment out those lines
# CC = mpiicc
# CXX= mpiicpc
INCLUDE = 
#
# # Or using gcc on your machine:
CC = mpicc  
CXX= mpicxx
# 
OPT = #-g -O0 
LIBS = -lm

#
# To compile with catalyst:
# 1/ Initiate the environment with source paraview_batch.sh  (on Eos: module load paraview/pvbatch-5.4.1)
# 2/ Decomment the following line:
###CATALYST = 1
#

ifdef CATALYST

   DEFINE = -DUSE_CATALYST
   #INCLUDE += -I$(PARAVIEW_ROOT)/include/paraview-5.4
   INCLUDE += `paraview-config --include`
   LIBS = `paraview-config --libs vtkPVPythonCatalyst`

   OBJS = solvers.o pjacobi.o result_vtr.o catalyst_adaptor.o
   EXE = pjacobi_catalyst

else

   OBJS = solvers.o pjacobi.o result_vtr.o
   EXE = pjacobi

endif


$(EXE):	$(OBJS) 
	$(CC) $(OPT) $(OBJS) $(INCLUDE) $(LIBS) -o $(EXE)
	
solvers.o:	solvers.c
	$(CC) $(OPT) $(INCLUDE) $(DEFINE) solvers.c -c 
	
pjacobi.o:	pjacobi.c
	$(CC) $(OPT) $(INCLUDE) $(DEFINE) pjacobi.c -c 

catalyst_adaptor.o: catalyst_adaptor.cxx
	$(CXX) $(OPT) $(INCLUDE) $(DEFINE) catalyst_adaptor.cxx -c

result_vtr.o: result_vtr.c
	$(CC) $(OPT) $(INCLUDE) $(DEFINE) result_vtr.c -c

clean :
	/bin/rm -f $(OBJS) $(EXE)


