TABLE OF CONTENTS
CGPACK/Makefile-bc3-oca [ Make files ]
[ Top ] [ Make files ]
NAME
Makefile-bc3-oca
SYNOPSIS
#$Id: Makefile-opencoarrays 446 2018-01-12 16:37:09Z mexas $ FC= caf
PURPOSE
Build/install CGPACK with GCC/OpenCoarrays
NOTES
CGPACK uses parallel HDF5, NetCDF and NetCDF-Fortran libraries. Make sure these are installed. Either the include path must point to the location of their *mod files, or copy the *mod files into another convenient location. I do the latter. Some parts of CGPACK, in particular coarrays of derived type with pointer or allocatable components, require gcc7+. So need to build lang/opencoarrays with gcc7+. lang/opencoarrays can use either of 3 MPI ports:
net/mpich net/openmpi net/openmpi2
net/mpich is the default. The 2 openmpi ports have not been integrated fully with opencoarrays yet. Also need to rebuild a number of other ports:
science/hdf5 science/netcdf science/netcdf-fortran
AUTHOR
Anton Shterenlikht
COPYRIGHT
See LICENSE
SOURCE
FFLAGS= -c -O2 -Wall -fPIC -g -fbacktrace -fall-intrinsics \ -fcheck-array-temporaries \ -I$(HOME)/mod CGPACK= cgpack MYLIB= lib$(CGPACK).a LIBDIR= $(HOME)/lib MODDIR= $(HOME)/mod SRC= cgca_m1clock.f90 cgca_m1co.f90 cgca_m2alloc.f90 cgca_m2gb.f90 \ cgca_m2geom.f90 cgca_m2glm.f90 cgca_m2hdf5.f90 cgca_m2hx.f90 \ cgca_m2lnklst.f90 cgca_m2mpiio.f90 cgca_m2netcdf.f90 cgca_m2out.f90 \ cgca_m2pck.f90 cgca_m2phys.f90 cgca_m2red.f90 cgca_m2rnd.f90 \ cgca_m2rot.f90 cgca_m2stat.f90 cgca_m3clvg.f90 cgca_m3gbf.f90 \ cgca_m3nucl.f90 cgca_m3pfem.f90 cgca_m3sld.f90 cgca_m4fr.f90 \ m2out_sm2_mpi.f90 m3clvg_sm1.f90 m3clvg_sm2.f90 m3clvg_sm3.f90 \ m3sld_sm1.f90 \ cgca.f90 # cgca_m3clvgt.f90 # - broken, does not build # m2out_sm1.f90 # - Cray only # m3clvgt_sm1.f90 # - broken, does not build # m3pfem_sm1.f90 # - GCC7 ICE OBJ= $(SRC:.f90=.o) MOD= cgca*.mod SMOD= cgca*.smod .SUFFIXES: .SUFFIXES: .f90 .o all: $(OBJ) $(MYLIB) .f90.o: $(FC) $(FFLAGS) $< $(MYLIB): $(OBJ) ar -r $(MYLIB) $(OBJ) install: $(MYLIB) cp $(MYLIB) $(LIBDIR) cp cgca.mod $(MODDIR) deinstall: cd $(LIBDIR) && rm $(MYLIB) cd $(MODDIR) && rm cgca.mod clean: rm -f $(MOD) $(SMOD) $(OBJ) $(MYLIB)