#
#               Makefile for the mpiclaw code:
#
#       To make an MPI executable, type:          make xclawmpi
#       (from the application sub-directory)
#
#       To make an executable that generates
#       output in HDF (version 4) format, type:   make xclawmpihdf
#       (from the application sub-directory)
#
#       To combine ASCII output files (one from
#       each processor at each time level) into
#       fort.qXXXX files for use with MATLAB, type:  make catfiles
#       (in directory with fort.qXXXX.YY files)
#
#       To compile a single file.f type:          make file.o
#       (from the application sub-directory)
#
FFLAGS = -O3
LFLAGS = $(FFLAGS)
F77    = mpif77 -c -mismatch # -mismatch is necessary for NAG f95 compiler.
LINK   = mpif77
HDFLIBS = -L/usr/local/hdf/lib -lmfhdf -ldf -ljpeg -lz

.f.o: ; $(F77) $(FFLAGS) $*.f -o $*.o

OBJECTS = \
  ../qinit.o \
  $(CLAW)/applications/burgers/2d/rp/rpn2bu.o \
  $(CLAW)/applications/burgers/2d/rp/rpt2bu.o

LIBOBJECTS = \
  $(CLAW)/clawpack/2d/mpilib/claw2ez_mpi_driver.o \
  $(CLAW)/clawpack/2d/mpilib/claw2ez_mpi.o \
  $(CLAW)/clawpack/2d/mpilib/claw2_mpi.o \
  $(CLAW)/clawpack/2d/mpilib/bc2_mpi.o \
  $(CLAW)/clawpack/2d/mpilib/bc2_aux_mpi.o \
  $(CLAW)/clawpack/2d/lib/b4step2.o \
  $(CLAW)/clawpack/2d/lib/step2.o \
  $(CLAW)/clawpack/2d/lib/step2ds.o \
  $(CLAW)/clawpack/2d/lib/dimsp2.o \
  $(CLAW)/clawpack/2d/lib/flux2.o \
  $(CLAW)/clawpack/2d/lib/copyq2.o \
  $(CLAW)/clawpack/2d/lib/limiter.o \
  $(CLAW)/clawpack/2d/lib/philim.o \
  $(CLAW)/clawpack/2d/lib/setprob.o \
  $(CLAW)/clawpack/2d/lib/setaux.o \
  $(CLAW)/clawpack/2d/lib/src2.o

OUTOBJECTS = $(CLAW)/clawpack/2d/mpilib/out2_mpi.o

HDFOBJECTS = $(CLAW)/clawpack/2d/mpilib/out2_mpi_hdf.o

xclawmpi: $(OBJECTS) $(LIBOBJECTS) $(OUTOBJECTS)
	$(LINK) $(LFLAGS) $(OBJECTS) $(LIBOBJECTS) $(OUTOBJECTS) -o xclawmpi 

xclawmpihdf: $(OBJECTS) $(LIBOBJECTS) $(HDFOBJECTS)
	$(LINK) $(LFLAGS) $(OBJECTS) $(LIBOBJECTS) $(HDFOBJECTS) -o xclawmpi \
	$(HDFLIBS)

# Type "make catfiles" to combine fort.qXXXX.YY output files from out2_mpi
# into fort.qXXXX files (for use with CLAWPACK's MATLAB graphics routines).
# This step is not necessary with the HDF output routines.
catfiles : fort.q0000

fort.q0000 : fort.q0000.00
	$(CLAW)/clawpack/3d/mpilib/catfiles

fort.q0000.00 :
	$(CLAW)/clawpack/3d/mpilib/catfiles

### DO NOT remove this line - make depends on it ###
