Skip to content

Config Setup

Alexandra Bozec edited this page Apr 23, 2019 · 1 revision

Configuration Setup

Makefiles under the HYCOM-tools directory source HYCOM-tools/config/$(ARCH)_setup, where ARCH defines exactly what machine architecture to target.

The specified HYCOM-tools/config/$(ARCH)_setup file must already exist. So far the following are available:

intelGF_setup - Intel Linux/gfortran
intelIF_setup - Intel Linux/ifort
intelPGF_setup - Intel Linux/pgf90
sp4XLF_setup - POWER4 AIX/xlf90
xc30IF_setup - Command Node Linux/ftn (ifort).

The following environment variables must be defined in each config file:

# FC: Fortran 90 compiler.
# FCFFLAGS: Fortran 90 compilation flags.
# CC: C compiler.
# CCFLAGS: C compilation flags.
# CPP: cpp preprocessor (may be implied by FC).
# CPPFLAGS: cpp -D macro flags (see README.macros). # LD: Loader.
# LDFLAGS: Loader flags.
# EXTRALIBS: Extra local libraries (if any).

In addition, make suffix rules are required for .c.o, .f.o, and .F.o
(i.e. how to create .o files from .c, .f and .F files). In the simplest case these are:

# rules.

.c.o:
      $(CC) $(CPPFLAGS) $(CCFLAGS) -c $*.c

.f.o:
      $(FC) $(FCFFLAGS) -c $*.f

.F.o:
      $(FC) $(CPPFLAGS) $(FCFFLAGS) -c $*.F

Note that the rule command lines start with a tab character.


REAL4 must be used in HYCOM-tools/config/$(ARCH)_setup.

REAL4     REAL is REAL*4

Other macros that may be used in HYCOM-tools/config/$(ARCH)_setup

AIX          IBM AIX
IA32        Intel Linux, typically now targets x64_64
ENDIAN_IO   Swap endian-ness as part of array I/O

Clone this wiki locally