TABLE OF CONTENTS


tests/Makefile-tests-Cray [ Make files ]

[ Top ] [ Make files ]

NAME

Makefile-tests-Cray

SYNOPSIS

#$Id: Makefile-Cray 560 2018-10-14 19:02:34Z mexas $

FC=             ftn

PURPOSE

Build CGPACK tests on HECToR with Cray compilers.

AUTHOR

Anton Shterenlikht

COPYRIGHT

See CGPACK_Copyright

SOURCE

#FFLAGS=        -eacn -Rb -I. -I$(LIBDIR) 
#FFLAGS=        -eacn -Rb -m1 -rl -I. -I$(LIBDIR) 

#FFLAGS=                -dm -eacFn -m3 -rl -I$(LIBDIR) -g -O0 -h bounds
FFLAGS=         -dm -eacFn -m3 -rl -I$(LIBDIR) # -g -O0 -h bounds
#FFLAGS=                -dm -eacFn -m3 -rl -O3,cache3,fp4,ipa5 -I$(LIBDIR) # -g -O0 -h bounds
LDFLAGS=

casup=          casup
LIBDIR=         $(HOME)/lib
LIBNAME=        lib$(casup).a
LIB=            -L$(LIBDIR) -l$(casup)

LOGIN_NODE_FLAGS=-h cpu=x86-64 -eacn -Rb

MODSRC=         testaux.f90
MODOBJ=         $(MODSRC:.f90=.o)
MODLST=         $(MODSRC:.f90=.lst)
CLEAN+=         $(MODLST) $(MODOBJ)

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 \
            testABL.f90 testABM.f90 testABN.f90 testABO.f90 \
testABP.f90 testABQ.f90 testABR.f90 testABS.f90 testABT.f90 \
testABU.f90 testABV.f90 testABW.f90 testABX.f90 testABY.f90 \
testABZ.f90 \
testACA.f90 testACB.f90 testACC.f90 testACD.f90 testACE.f90 \
test_hdf5.f90 test_hxi.f90 test_hxir.f90 \
testACF.f90
#testABK.f90 - this test needs "module add perftools" on Cray
OBJ=            $(SRC:.f90=.o)
LST=            $(SRC:.f90=.lst)
EXE=            $(SRC:.f90=.x)
CLEAN+=         $(OBJ) $(LST) $(EXE)

NEWSRC=         hxvn.f90 hxvn_1D.f90 hxvn_co.f90 hxvn_glbar.f90 \
                hxvn_timing.f90 hxvn_timing_co.f90 hxvn_timing_mpi.f90 \
                ising.f90 ising_1D.f90 ising_co.f90 ising_col.f90 \
                ising_glbar.f90 ising_perf.f90 ising_perf_co.f90 \
                ising_perf_glbar.f90 ising_perf_1D.f90 \
                mpi_check.f90 mpi_hxvn.f90 mpi_ising.f90 mpi_ising_perf.f90 \
                future_ca_omp1.f90 future_ca_omp2.f90
NEWOBJ=         $(NEWSRC:.f90=.o)
NEWLST=         $(NEWSRC:.f90=.lst)
NEWEXE=         $(NEWSRC:.f90=.nx)
CLEAN+=         $(NEWOBJ) $(NEWLST) $(NEWEXE)

.SUFFIXES:
.SUFFIXES:      .f90 .o .x .nx

all:            old new

old:            $(EXE)
new:            $(NEWEXE)

# Extra dependencies
$(OBJ):         $(MODOBJ)
$(MODOBJ):      $(LIBDIR)/$(LIBNAME)

$(NEWOBJ):      $(LIBDIR)/$(LIBNAME)
 
.f90.o:
                $(FC) -c $< $(FFLAGS)

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

.o.nx:
                $(FC) $< -o $@ $(LDFLAGS) $(LIB)

clean:
                rm -f $(CLEAN)