# Multithreaded + multi-processing makefile for:
#    Linux a54-1727-074 2.6.11.7smp-perfctr-tty #5 SMP Fri Apr 22 15:07:50 EDT 2005 i686 i686 i386 GNU/Linux
# This makefile was generated automatically on
#    Mon May 17 07:11:20 EDT 2010
# by the command:
#    ../../../tools/genmake2 -ds -m make -mods=../code -optfile=/scratch/ce107/MITgcm/tools/build_options/linux_ia32_open64+mth -omp -ts
# executed by:
#    ce107@a54-1727-074:/scratch/ce107/MITgcm/verification/dome/build
#
# OPTFILE="/scratch/ce107/MITgcm/tools/build_options/linux_ia32_open64+mth"
# 
# BUILDDIR     : Directory where object files are written
# SOURCEDIRS   : Directories containing the source (.F) files
# INCLUDEDIRS  : Directories containing the header-source (.h) files
# EXEDIR       : Directory where executable that is generated is written
# EXECUTABLE   : Full path of executable binary
#
# CPP          : C-preprocessor command
# INCLUDES     : Directories searched for header files
# DEFINES      : Macro definitions for CPP
# MAKEDEPEND   : Dependency generator
# KPP          : Special preprocessor command (specific to platform)
# KFLAGS       : Flags for KPP
# FC           : Fortran compiler command
# FFLAGS       : Configuration/debugging options for FC
# FOPTIM       : Optimization options for FC
# LINK         : Command for link editor program
# LIBS         : Library flags /or/ additional optimization/debugging flags

ROOTDIR     = ../../..
BUILDDIR    = .  
SOURCEDIRS  =  ../code ../../../pkg/debug ../../../pkg/diagnostics ../../../pkg/generic_advdiff ../../../pkg/mdsio ../../../pkg/mom_common ../../../pkg/mom_fluxform ../../../pkg/mom_vecinv ../../../pkg/monitor ../../../pkg/obcs ../../../pkg/rw ../../../pkg/showflops ../../../pkg/timeave ../../../pkg/runclock ../../../eesupp/src ../../../model/src
INCLUDEDIRS =  ../code ../../../pkg/debug ../../../pkg/diagnostics ../../../pkg/generic_advdiff ../../../pkg/mdsio ../../../pkg/mom_common ../../../pkg/mom_fluxform ../../../pkg/mom_vecinv ../../../pkg/monitor ../../../pkg/obcs ../../../pkg/rw ../../../pkg/showflops ../../../pkg/timeave ../../../pkg/runclock ../../../eesupp/inc ../../../model/inc
EXEDIR      = .
EXECUTABLE  = $(EXEDIR)/mitgcmuv
TOOLSDIR    = ../../../tools

#eh3  new defines for the adjoint work
AUTODIFF    = ../../../pkg/autodiff
EXE_AD      = mitgcmuv_ad
EXE_FTL     = mitgcmuv_ftl
EXE_SVD     = mitgcmuv_svd

ENABLED_PACKAGES =  -DALLOW_DEBUG -DALLOW_DIAGNOSTICS -DALLOW_GENERIC_ADVDIFF -DALLOW_MDSIO -DALLOW_MOM_COMMON -DALLOW_MOM_FLUXFORM -DALLOW_MOM_VECINV -DALLOW_MONITOR -DALLOW_OBCS -DALLOW_RW -DALLOW_SHOWFLOPS -DALLOW_TIMEAVE -DALLOW_RUNCLOCK
DISABLED_PACKAGES =  -UALLOW_ADMTLM -UALLOW_AIM_COMPON_INTERF -UALLOW_AIM_V23 -UALLOW_ATM2D -UALLOW_ATM_COMMON -UALLOW_ATM_OCN_COUPLER -UALLOW_AUTODIFF -UALLOW_BULK_FORCE -UALLOW_CAL -UALLOW_CD_CODE -UALLOW_CFC -UALLOW_CHEAPAML -UALLOW_CHRONOS -UALLOW_COMPON_COMMUNIC -UALLOW_COST -UALLOW_CTRL -UALLOW_DIC -UALLOW_DOWN_SLOPE -UALLOW_EBM -UALLOW_ECCO -UALLOW_EMBED_FILES -UALLOW_EXCH2 -UALLOW_EXF -UALLOW_FIZHI -UALLOW_FLT -UALLOW_GCHEM -UALLOW_GGL90 -UALLOW_GMREDI -UALLOW_GRDCHK -UALLOW_GRIDALT -UALLOW_ICEFRONT -UALLOW_KPP -UALLOW_LAND -UALLOW_LAYERS -UALLOW_LONGSTEP -UALLOW_MATRIX -UALLOW_MNC -UALLOW_MY82 -UALLOW_MYPACKAGE -UALLOW_OCN_COMPON_INTERF -UALLOW_OFFLINE -UALLOW_OPPS -UALLOW_PP81 -UALLOW_PROFILES -UALLOW_PTRACERS -UALLOW_RBCS -UALLOW_REGRID -UALLOW_SALT_PLUME -UALLOW_SBO -UALLOW_SEAICE -UALLOW_SHAP_FILT -UALLOW_SHELFICE -UALLOW_SMOOTH -UALLOW_SPHERE -UALLOW_THSICE -UALLOW_ZONAL_FILT

# These files are created by Makefile
SPECIAL_FILES = PACKAGES_CONFIG.h AD_CONFIG.h FC_NAMEMANGLE.h BUILD_INFO.h
EMBEDDED_FILES = 
# Unix ln (link)
LN = ln -s
# C preprocessor
CPP = cat $< | $(TOOLSDIR)/set64bitConst.sh |  cpp -traditional -P
# Dependency generator
MAKEDEPEND = /usr/X11R6/bin/makedepend
# Special preprocessor (KAP on DECs, FPP on Crays)
KPP = 
# Fortran compiler
FC = openf90
# Fortran compiler
F90C = openf90
# C compiler
CC = opencc
# Link editor
LINK = openf90 

# Defines for CPP
DEFINES = -DWORDLENGTH=4 -DUSE_OMP_THREADING -DUSE_OMP_THREADING -DTIME_PER_TIMESTEP -DHAVE_SYSTEM -DHAVE_FDATE -DHAVE_ETIME -DHAVE_CLOC -DHAVE_SETRLSTK -DHAVE_SIGREG -DHAVE_STAT 
# Includes for CPP
INCLUDES = -I/usr/local/pkg/netcdf/netcdf-3.5.1/g77/include
# Flags for KPP
KFLAGS1 = 
KFLAGS2 = 
# Optim./debug for FC
FFLAGS = -m32 -convert big_endian -openmp  
FOPTIM = -O2 -LNO:fusion=2 -OPT:roundoff=1:IEEE_arithmetic=3 -OPT:early_mp=ON
# Optim./debug for FC
F90FLAGS = -m32 -convert big_endian -openmp 
F90OPTIM = -O2 -LNO:fusion=2 -OPT:roundoff=1:IEEE_arithmetic=3 -OPT:early_mp=ON
F90FIXEDFORMAT = -fixedform -x f95
# Flags for CC
CFLAGS = -O2 -m32 -openmp
# Files that should not be optimized
NOOPTFILES = mon_set_iounit.F mon_init.F
NOOPTFLAGS = -O0 -m32 -g -openmp
# Flags and libraries needed for linking
LIBS = -L/usr/local/pkg/netcdf/netcdf-3.5.1/g77/lib -lstdc++ -lnetcdf
# Name of the Mekfile
MAKEFILE=Makefile

F77_SRC_FILES =  \
 obcs_calc.F \
 chksum_tiled.F \
 debug_call.F \
 debug_cs_corner_uv.F \
 debug_enter.F \
 debug_fld_stats_rl.F \
 debug_fld_stats_rs.F \
 debug_leave.F \
 debug_msg.F \
