#
# MPI makefile for frost, lightning, & bluesky
#
ARCH=$(shell uname -s)
MARCH = $(shell uname -m)

ifeq ($(ARCH),Linux)
# Linux default
    INSTALL_DIR = /usr/lib/mpich/
    MPIF77      = /usr/lib/mpich/bin/mpif77
    MPIFLINKER  = /usr/lib/mpich/bin/mpif77
    MPIFFLAGS   = -w -Mextend
    SHELL       = /bin/tcsh
  ifeq ($(MARCH),ppc64)
# frost
    INSTALL_DIR = /bgl/BlueLight/ppcfloor/bglsys/
    MPIF77      = mpxlf
    MPIFLINKER  = mpxlf
    MPIFFLAGS   = -O2 -qarch=440 -qmaxmem=64000
    SHELL       = /bin/tcsh
  endif
  ifeq ($(MARCH),x86_64)
# lightning
    INSTALL_DIR = /usr/local/mpich/
    MPIF77      = /usr/local/mpich/bin/mpif77
    MPIFLINKER  = /usr/local/mpich/bin/mpif77
    MPIFFLAGS   = -w -Mextend
    SHELL       = /bin/tcsh
  endif
endif
ifeq ($(ARCH),AIX)
# bluesky/bluevista
  MPIF77      = /usr/bin/mpxlf_r
  MPIFLINKER  = /usr/bin/mpxlf_r
  MPIFFLAGS   = -qarch=auto -qtune=auto -qfixed=132 -O2
  SHELL       = /usr/local/bin/tcsh
endif
#
### End User configurable options ###

mpikaia: mpi_pikaia.o pikaia_master.o mpi_fitness.o ff_slave.o userff.o
	$(MPIFLINKER) $(MPIFFLAGS) -o ../mpikaia mpi_pikaia.o pikaia_master.o mpi_fitness.o ff_slave.o userff.o
	rm -f *.o

mpi_pikaia.o: mpi_pikaia.f
	$(MPIF77) $(MPIFFLAGS) -c mpi_pikaia.f

pikaia_master.o: pikaia_master.f
	$(MPIF77) $(MPIFFLAGS) -c pikaia_master.f

mpi_fitness.o: mpi_fitness.f
	$(MPIF77) $(MPIFFLAGS) -c mpi_fitness.f

ff_slave.o: ff_slave.f
	$(MPIF77) $(MPIFFLAGS) -c ff_slave.f

userff.o: userff.f
	$(MPIF77) $(MPIFFLAGS) -c userff.f
