TABLE OF CONTENTS


CASUP/Makefile-FreeBSD [ Make files ]

[ Top ] [ Make files ]

NAME

Makefile-FreeBSD

SYNOPSIS

#$Id: Makefile-FreeBSD 549 2018-04-27 14:56:15Z mexas $

FC=             caf

PURPOSE

Build/install casup on FreeBSD with GCC/OpenCoarrays.

NOTES

Some parts of casup, 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 -fopenmp\
                -fcheck=bounds\
                -I/usr/local/include

casup=          casup
MYLIB=          lib$(casup).a
CLEAN+=         $(MYLIB)
LIBDIR=         $(HOME)/lib
MODDIR=         $(HOME)/include

SRC=            cgca_m1clock.f90 cgca_m1co.f90 \
                ca_hx.f90 ca_hx_mpi.f90 ca_hx_co.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 \
                m2hx_hxic.f90 m2hx_hxir.f90 m2out_sm2_mpi.f90 \
                cgca_m3clvg.f90 cgca_m3gbf.f90 \
                cgca_m3nucl.f90 cgca_m3sld.f90 \
                m3clvg_sm1.f90 m3clvg_sm2.f90 m3clvg_sm3.f90 \
                m3sld_hc.f90 m3sld_sm1.f90 \
                casup.f90
#               cgca_m3pfem.f90  
MOD=            $(SRC:.f90=.mod)
OBJ=            $(SRC:.f90=.o)
CLEAN+=         $(MOD) $(OBJ)

                # cgca_m4fr.f90 - not ready
                # cgca_m3clvgt.f90 # - broken, does not build
                # m2out_sm1.f90 # - Cray only
                # m3clvgt_sm1.f90 # - broken, does not build
                # m3pfem_sm1.f90 - gcc7 ICE

SMOD=           cgca*.smod ca*.smod
CLEAN+=         $(SMOD)

.SUFFIXES:
.SUFFIXES:      .f90 .o

all:            $(OBJ) $(MYLIB)

.f90.o:
                $(FC) $(FFLAGS) $<

$(MYLIB):       $(OBJ)
                ar -r $(MYLIB) $(OBJ)

install:        $(MYLIB)
                cp $(MYLIB) $(LIBDIR)/
                cp casup.mod $(MODDIR)/

deinstall:
                cd $(LIBDIR) && rm $(MYLIB)
                cd $(MODDIR) && rm casup.mod

clean:
                rm -f $(CLEAN)