# Link make.inc with the targeted architecture in Arch directory
# For example : ln -s make_sp6 make.inc
#--------------------------------------
include ../Arch/make.inc

include ../Arch/libs.inc
CFLAGS += $(INCS)

CFLAGS += -DHDF5 -DMPIIO -DNETCDF4 -DPNETCDF #-DADIOS -DSIONLIB

PGM=hydro
SRC=cmpflx.c conservar.c equation_of_state.c hydro_godunov.c main.c \
    io_adios.c io_hdf5.c io_mpiio.c io_netcdf.c io_pnetcdf.c io_sionlib.c io.c \
    parametres.c riemann.c trace.c vtkfile.c compute_deltat.c constoprim.c \
    hydro_funcs.c make_boundary.c qleftright.c slope.c utils.c mpi_funcs.c

OBJ = $(patsubst %.c, %.o, ${SRC})

$(PGM): $(OBJ)
	$(MPICC) -o $(PGM) ${CFLAGS_MPI} $(OBJ) $(LDFLAGS) -lm

clean   :
	rm -f *.o $(PGM)

cleanall   : clean
	rm -f *~ *.vts *.out

.SUFFIXES:  .o .c

.c.o    :
	${MPICC} ${CFLAGS} ${CFLAGS_MPI} -c $<

# Dependencies
#--------------

main.h: cmpflx.h conservar.h equation_of_state.h hydro_funcs.h mpi_funcs.h qleftright.h slope.h utils.h compute_deltat.h constoprim.h hydro_godunov.h  make_boundary.h io.h parametres.h riemann.h trace.h vtkfile.h
cmpflx.o: main.h parametres.h utils.h cmpflx.h
compute_deltat.o: main.h parametres.h compute_deltat.h utils.h equation_of_state.h mpi_funcs.h
conservar.o: main.h parametres.h utils.h conservar.h
constoprim.o: main.h parametres.h constoprim.h utils.h
equation_of_state.o: main.h equation_of_state.h utils.h parametres.h
hydro_funcs.o: main.h utils.h parametres.h hydro_funcs.h mpi_funcs.h
hydro_godunov.o: main.h parametres.h hydro_godunov.h
hydro_godunov.o: hydro_funcs.h utils.h make_boundary.h cmpflx.h conservar.h
hydro_godunov.o: equation_of_state.h qleftright.h constoprim.h riemann.h
hydro_godunov.o: trace.h slope.h
main.o: main.h mpi_funcs.h
main.o: parametres.h hydro_funcs.h vtkfile.h
main.o: compute_deltat.h hydro_godunov.h utils.h
make_boundary.o: main.h mpi_funcs.h
make_boundary.o: parametres.h make_boundary.h
make_boundary.o: utils.h
mpi_funcs.o: main.h mpi_funcs.h
io.o: main.h io.h
io_adios.o: main.h io.h
io_hdf5.o: main.h io.h
io_mpiio.o: main.h io.h
io_netcdf.o: main.h io.h
io_pnetcdf.o: main.h io.h
io_sionlib.o: main.h io.h
parametres.o: main.h parametres.h
qleftright.o: main.h
qleftright.o: parametres.h utils.h qleftright.h
riemann.o: main.h
riemann.o: parametres.h utils.h riemann.h
slope.o: main.h
slope.o: parametres.h utils.h slope.h
trace.o: main.h
trace.o: parametres.h utils.h trace.h
utils.o: main.h
utils.o: utils.h parametres.h
vtkfile.o: main.h mpi_funcs.h
vtkfile.o: parametres.h utils.h
vtkfile.o: vtkfile.h
