TABLE OF CONTENTS


tests/Makefile-tests-bc3-ifort-shared [ Make files ]

[ Top ] [ Make files ]

NAME

Makefile-tests-bc3-ifort-shared

SYNOPSIS

#$Id: Makefile-bc3-ifort-shared 382 2017-03-22 11:41:51Z mexas $

FC=             ifort

PURPOSE

Build CGPACK tests on University of Bristol BlueCrystal computer with Intel Fortran compiler.

DESCRIPTION

Checked with ifort 16.0.0. This file is for *shared* memory only!

AUTHOR

Anton Shterenlikht

COPYRIGHT

See LICENSE

SOURCE

COAR_FLAGS=     -coarray=shared
FFLAGS=         $(COAR_FLAGS) -debug full -warn all -O2 -qopt-report \
                -traceback
                #-std08 -warn stderrors -mt_mpi
FFLAGS_CA=      $(FFLAGS) -I. -I$(MODDIR)

MPIFC=          ifort-shared

CGNAME=         cg
CGLIB=          $(CGNAME)pack
LIBDIR=         $(HOME)/lib
MODDIR=         $(HOME)/mod
MODPREFIX=      cgca
LIBNAME=        lib$(CGLIB)

LIB=            $(COAR_FLAGS) -L$(LIBDIR) -l$(CGLIB) # -I$(MODDIR)

MODSRC=         testaux.f90
MODMOD=         $(MODSRC:.f90=.mod)
MODOBJ=         $(MODSRC:.f90=.o)
MOD_RPT=        $(MODSRC:.f90=.optrpt)
MOD_CLEAN=      $(MODMOD) $(MODOBJ) $(MOD_RPT)

SRC= \
testAAA.f90 testAAB.f90 testAAC.f90 testAAD.f90 testAAE.f90 \
testAAF.f90 testAAG.f90 testAAH.f90 testAAI.f90 testAAJ.f90 \
testAAK.f90 testAAL.f90 testAAM.f90 testAAN.f90 testAAO.f90 \
testAAP.f90 testAAQ.f90 testAAR.f90 testAAS.f90 testAAT.f90 \
testAAU.f90 testAAV.f90 testAAW.f90 testAAX.f90 testAAY.f90 \
testAAZ.f90 \
testABA.f90 testABB.f90 testABC.f90 testABD.f90 testABE.f90 \
testABF.f90 testABG.f90 testABH.f90 testABI.f90 testABJ.f90 \
\
testABP.f90 testABQ.f90 testABR.f90 testABS.f90 testABT.f90 \
testABU.f90                                     testABY.f90 \
testABZ.f90 \
testACA.f90 testACB.f90
# testABK.f90 testABL.f90 testABM.f90 testABN.f90
# testABO.f90 testABV.f90 testABW.f90 - co_sum not supported by ifort 15
# testABX.f90 - Cray parallel IO extensions

NON_COARRAY_SRC=test_gc.f90
NON_COARRAY_EXE=$(NON_COARRAY_SRC:.f90=.xnonca)

CA_CHK_SRC1=    ca_check1.f90
CA_CHK_EXE1=    $(CA_CHK_SRC1:.f90=.xcack)
CA_CHK_CONF1=   $(CA_CHK_SRC1:.f90=.conf)
CA_CHK_FLAGS1=  -coarray=shared \
                -debug full -warn all #-std08 -warn stderrors

CA_CHK_SRC2=    ca_check2.f90
CA_CHK_EXE2=    $(CA_CHK_SRC2:.f90=.xcack)
CA_CHK_CONF2=   $(CA_CHK_SRC2:.f90=.conf)
CA_CHK_FLAGS2=  -coarray=shared \
                -debug full -warn all #-std08 -warn stderrors

OBJ=            ${SRC:.f90=.o}
RPT=            $(SRC:.f90=.optrpt)
EXE=            ${SRC:.f90=.x} ${NON_COARRAY_EXE} $(MPI_EXE) $(CA_CHK_EXE1) $(CA_CHK_EXE2)

ALL_CLEAN=      $(MOD_CLEAN) $(OBJ) $(RPT) $(EXE)

.SUFFIXES: .f90 .o .x .mod .xnonca .xcack

all: $(OBJ) $(EXE)

.f90.o:
        $(FC) -c $< $(FFLAGS_CA)

.f90.mod:
        $(FC) -c $< $(FFLAGS_CA)

.o.x:
        $(FC) -o $@ $< $(MODOBJ) $(LIB)

.f90.xnonca:
        $(FC) -o $@ $<

.f90.xmpi:
        $(MPIFC) -o $@ $<

$(CA_CHK_EXE1): $(CA_CHK_SRC1)
        $(FC) -o $@ $(CA_CHK_FLAGS1) $(CA_CHK_SRC1)

$(CA_CHK_EXE2): $(CA_CHK_SRC2)
        $(FC) -o $@ $(CA_CHK_FLAGS2) $(CA_CHK_SRC2)

$(OBJ): $(MODMOD) $(MODDIR)/$(MODPREFIX)*.mod $(LIBDIR)/$(LIBNAME).a
$(MODMOD) $(MODOBJ): $(MODDIR)/$(MODPREFIX)*.mod $(LIBDIR)/$(LIBNAME).a
$(EXE): $(MODOBJ)
 
clean:
        \rm $(ALL_CLEAN)