# Multithreaded + multi-processing makefile for: # Linux node1618 4.18.0-372.9.1.el8.x86_64 #1 SMP Tue May 10 14:48:47 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux # This makefile was generated automatically on # Sat Jun 7 00:41:51 EDT 2025 # by the command: # ../../../tools/genmake2 -ds -m make -mods=../code -optfile=/orcd/home/001/jahn/linux_amd64_gfortran-native -ieee # executed by: # jahn@node1618:/orcd/scratch/orcd/001/jahn/testreport/rocky8/MITgcm_gfortran/verification/global_ocean.cs32x15/build # # OPTFILE="/orcd/home/001/jahn/linux_amd64_gfortran-native" # # 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 # 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 $(ROOTDIR)/pkg/bulk_force $(ROOTDIR)/pkg/debug $(ROOTDIR)/pkg/diagnostics $(ROOTDIR)/pkg/exch2 $(ROOTDIR)/pkg/exf $(ROOTDIR)/pkg/generic_advdiff $(ROOTDIR)/pkg/ggl90 $(ROOTDIR)/pkg/gmredi $(ROOTDIR)/pkg/mdsio $(ROOTDIR)/pkg/mom_common $(ROOTDIR)/pkg/mom_fluxform $(ROOTDIR)/pkg/mom_vecinv $(ROOTDIR)/pkg/monitor $(ROOTDIR)/pkg/rw $(ROOTDIR)/pkg/seaice $(ROOTDIR)/pkg/thsice $(ROOTDIR)/pkg/timeave $(ROOTDIR)/pkg/cal $(ROOTDIR)/eesupp/src $(ROOTDIR)/model/src INCLUDEDIRS = ../code $(ROOTDIR)/pkg/bulk_force $(ROOTDIR)/pkg/debug $(ROOTDIR)/pkg/diagnostics $(ROOTDIR)/pkg/exch2 $(ROOTDIR)/pkg/exf $(ROOTDIR)/pkg/generic_advdiff $(ROOTDIR)/pkg/ggl90 $(ROOTDIR)/pkg/gmredi $(ROOTDIR)/pkg/mdsio $(ROOTDIR)/pkg/mom_common $(ROOTDIR)/pkg/mom_fluxform $(ROOTDIR)/pkg/mom_vecinv $(ROOTDIR)/pkg/monitor $(ROOTDIR)/pkg/rw $(ROOTDIR)/pkg/seaice $(ROOTDIR)/pkg/thsice $(ROOTDIR)/pkg/timeave $(ROOTDIR)/pkg/cal $(ROOTDIR)/eesupp/inc $(ROOTDIR)/model/inc EXEDIR = . EXECUTABLE = $(EXEDIR)/mitgcmuv TOOLSDIR = $(ROOTDIR)/tools OADTOOLS = #eh3 new defines for the adjoint work AUTODIFF = $(ROOTDIR)/pkg/autodiff EXE_ADJ = mitgcmuv_ad EXE_TLM = mitgcmuv_ftl EXE_SVD = mitgcmuv_svd ENABLED_PACKAGES = -DALLOW_BULK_FORCE -DALLOW_DEBUG -DALLOW_DIAGNOSTICS -DALLOW_EXCH2 -DALLOW_EXF -DALLOW_GENERIC_ADVDIFF -DALLOW_GGL90 -DALLOW_GMREDI -DALLOW_MDSIO -DALLOW_MOM_COMMON -DALLOW_MOM_FLUXFORM -DALLOW_MOM_VECINV -DALLOW_MONITOR -DALLOW_RW -DALLOW_SEAICE -DALLOW_THSICE -DALLOW_TIMEAVE -DALLOW_CAL DISABLED_PACKAGES = -UALLOW_ADMTLM -UALLOW_AIM_V23 -UALLOW_ATM2D -UALLOW_ATM_COMMON -UALLOW_ATM_COMPON_INTERF -UALLOW_ATM_OCN_COUPLER -UALLOW_ATM_PHYS -UALLOW_AUTODIFF -UALLOW_BBL -UALLOW_BLING -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_FIZHI -UALLOW_FLT -UALLOW_FRAZIL -UALLOW_GCHEM -UALLOW_GRDCHK -UALLOW_GRIDALT -UALLOW_ICEFRONT -UALLOW_KL10 -UALLOW_KPP -UALLOW_LAND -UALLOW_LAYERS -UALLOW_LONGSTEP -UALLOW_MATRIX -UALLOW_MNC -UALLOW_MY82 -UALLOW_MYPACKAGE -UALLOW_OBCS -UALLOW_OCN_COMPON_INTERF -UALLOW_OFFLINE -UALLOW_OPENAD -UALLOW_OPPS -UALLOW_PP81 -UALLOW_PROFILES -UALLOW_PTRACERS -UALLOW_RBCS -UALLOW_REGRID -UALLOW_RUNCLOCK -UALLOW_SALT_PLUME -UALLOW_SBO -UALLOW_SHAP_FILT -UALLOW_SHELFICE -UALLOW_SHOWFLOPS -UALLOW_SMOOTH -UALLOW_SPHERE -UALLOW_STEEP_ICECAVITY -UALLOW_STREAMICE -UALLOW_TAPENADE -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 # Dependency generator MAKEDEPEND = $(TOOLSDIR)/xmakedepend # Special preprocessor (KAP on DECs, FPP on Crays) KPP = # Fortran compiler FC = gfortran # Fortran compiler F90C = gfortran # C compiler CC = gcc # Link editor LINK = gfortran # Defines for CPP DEFINES = -DWORDLENGTH=4 -DNML_TERMINATOR -DHAVE_SYSTEM -DHAVE_FDATE -DHAVE_ETIME_SBR -DHAVE_CLOC -DHAVE_SETRLSTK -DHAVE_SIGREG -DHAVE_STAT -DHAVE_FLUSH # Includes for CPP INCLUDES = # default CPP includes for makedepend CPPINCLUDES = -I/orcd/software/core/001/spack/pkg/gcc/12.2.0/yt6vabm/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include -I/usr/local/include -I/orcd/software/core/001/spack/pkg/gcc/12.2.0/yt6vabm/include -I/orcd/software/core/001/spack/pkg/gcc/12.2.0/yt6vabm/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include-fixed -I/usr/include # Flags for KPP KFLAGS1 = KFLAGS2 = # Optim./debug for FC FFLAGS = -fallow-argument-mismatch -fconvert=big-endian -fimplicit-none -mcmodel=medium -Wall -Wno-unused-dummy-argument FOPTIM = -O0 -march=native # Optim./debug for FC F90FLAGS = -fallow-argument-mismatch -fconvert=big-endian -fimplicit-none -mcmodel=medium -Wall -Wno-unused-dummy-argument F90OPTIM = -O0 -march=native F90FIXEDFORMAT = -ffixed-form # Flags for CC CFLAGS = -O0 -march=native -mcmodel=medium # Files that should not be optimized NOOPTFILES = NOOPTFLAGS = -O0 # Flags and libraries needed for linking LIBS = # Name of the makefile MAKEFILE = Makefile # Name of the make program MAKE = make F77_SRC_FILES = \ bulkf_ave.F \ bulkf_fields_load.F \ bulkf_flux_adjust.F \ bulkf_forcing.F \ bulkf_formula_aim.F \ bulkf_formula_lanl.F \ bulkf_formula_lay.F \ bulkf_init_varia.F \